ページへ戻る
印刷
Python/Seleniumの導入
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/Seleniumの導入 をテンプレートにして作成
開始行:
*Seleniumとは
Seleniumとは本来は微量元素、セレンのことですが、ここでは...
これを使うとWebアプリのテストなどの自動化が可能です。
それ以外にも、例えばログインなどの面倒なサイトへ自動ログ...
もちろん、コマンドラインだけでログインなども可能なのです...
対応言語はJava、C#、Ruby、Python、Javascripと幅広く、対応...
個人的にはログインの面倒なサイトなどの自動化でPythonとChr...
*Macでのインストール
SeleniumをPythonで動かすには二つのステップが必要です。
-Seleniumをインストール
-ブラウザのドライバーをインストール
他にSeleniumサーバというのもありますが、個人でちょっとし...
**Seleniumをインストール
pipに対応しているので、コマンドラインから簡単にインストー...
sudo pip install selenium
もし「-H」オプションが必要と言われたらつけてください。
sudo -H pip install selenium
**ブラウザのドライバーをインストール
ブラウザのドライバーはサードパーティーなどによって各ブラ...
ここではChromeのものをダウンロードしてきます。
解凍したドライバはパスの通った場所に置く必要があります。
または、メンテナンスなどを考えるとリンクの方が楽かも知れ...
ln -s /yourlocationdir/chromedriver /usr/local/bin/chrom...
これで準備は完了です。
*基本的な使い方
まずインポートします。
from selenium import webdriver
次にドライバーのオブジェクトを取得します。
driver = webdriver.Chrome()
この段階で、新しいプロセスでブラウザが立ち上がり、空の画...
移動は
driver.get("http://njf.jp")
でそのページに移動します。
そのページに表示されている要素の取得も可能で「find_elemen...
特によく使うのは、
find_element_by_name
find_element_by_id
find_element_by_xpath
あたりです。それぞれname、id、XPathをもと要素に取得します...
&ref(xpath_copy_0.png,mw:480,mh:360);
また取得した要素にはsend_keysというメソッドがあり、これに...
driver.find_element_by_name("email").send_keys("mymail@m...
driver.find_element_by_name("password").send_keys("mypas...
日本語を入力するときはUTF-8を使いましょう。
driver.find_element_by_name("comment").send_keys(u"テス...
ボタンのクリックも可能です。
driver.find_element_by_id("form_button").click()
Seleniumはスクレイパーとしての機能はさほど優れてはいない...
表示中のhtmlソースはpage_sourceで取得できます。
html = driver.page_source
bf = BeautifulSoup(html,"html.parser")
画面を閉じるのはcloseメソッドです。
driver.close()
*注意事項
注意としては、普段使っているブラウザでもクッキーなどは共...
また、起動のたびにプロセスが立ち上がるので、開発中は自分...
プロセスが終わるとブラウザも落ちてしまうことがあります。...
print "Type 'q' to end"
while True:
inputline = raw_input()
if inputline == "q":
break
*まとめ
Selenium+Pythonだとかなり簡単にブラウザが操作できます。
テストの自動化はもちろん、個人でもたとえば、ちょっとした...
この程度の処理なら10分ほどで書けてしまうので、普段の面倒...
終了行:
*Seleniumとは
Seleniumとは本来は微量元素、セレンのことですが、ここでは...
これを使うとWebアプリのテストなどの自動化が可能です。
それ以外にも、例えばログインなどの面倒なサイトへ自動ログ...
もちろん、コマンドラインだけでログインなども可能なのです...
対応言語はJava、C#、Ruby、Python、Javascripと幅広く、対応...
個人的にはログインの面倒なサイトなどの自動化でPythonとChr...
*Macでのインストール
SeleniumをPythonで動かすには二つのステップが必要です。
-Seleniumをインストール
-ブラウザのドライバーをインストール
他にSeleniumサーバというのもありますが、個人でちょっとし...
**Seleniumをインストール
pipに対応しているので、コマンドラインから簡単にインストー...
sudo pip install selenium
もし「-H」オプションが必要と言われたらつけてください。
sudo -H pip install selenium
**ブラウザのドライバーをインストール
ブラウザのドライバーはサードパーティーなどによって各ブラ...
ここではChromeのものをダウンロードしてきます。
解凍したドライバはパスの通った場所に置く必要があります。
または、メンテナンスなどを考えるとリンクの方が楽かも知れ...
ln -s /yourlocationdir/chromedriver /usr/local/bin/chrom...
これで準備は完了です。
*基本的な使い方
まずインポートします。
from selenium import webdriver
次にドライバーのオブジェクトを取得します。
driver = webdriver.Chrome()
この段階で、新しいプロセスでブラウザが立ち上がり、空の画...
移動は
driver.get("http://njf.jp")
でそのページに移動します。
そのページに表示されている要素の取得も可能で「find_elemen...
特によく使うのは、
find_element_by_name
find_element_by_id
find_element_by_xpath
あたりです。それぞれname、id、XPathをもと要素に取得します...
&ref(xpath_copy_0.png,mw:480,mh:360);
また取得した要素にはsend_keysというメソッドがあり、これに...
driver.find_element_by_name("email").send_keys("mymail@m...
driver.find_element_by_name("password").send_keys("mypas...
日本語を入力するときはUTF-8を使いましょう。
driver.find_element_by_name("comment").send_keys(u"テス...
ボタンのクリックも可能です。
driver.find_element_by_id("form_button").click()
Seleniumはスクレイパーとしての機能はさほど優れてはいない...
表示中のhtmlソースはpage_sourceで取得できます。
html = driver.page_source
bf = BeautifulSoup(html,"html.parser")
画面を閉じるのはcloseメソッドです。
driver.close()
*注意事項
注意としては、普段使っているブラウザでもクッキーなどは共...
また、起動のたびにプロセスが立ち上がるので、開発中は自分...
プロセスが終わるとブラウザも落ちてしまうことがあります。...
print "Type 'q' to end"
while True:
inputline = raw_input()
if inputline == "q":
break
*まとめ
Selenium+Pythonだとかなり簡単にブラウザが操作できます。
テストの自動化はもちろん、個人でもたとえば、ちょっとした...
この程度の処理なら10分ほどで書けてしまうので、普段の面倒...
ページ名: