selenium
オンラインドキュメント
https://pypi.org/project/selenium/
https://seleniumhq.github.io/selenium/docs/api/py/api.html
インストール
pip install selenium |
1 |
Firefoxを操作するので、https://github.com/mozilla/geckodriver/releases から、geckodriverのwin64.zipファイル をダウンロードする。
解凍してできるファイル geckodriver.exe を C:\geckodriver へコピーし、環境変数 PATH へ C:\geckodriver; を追加する。
使い方
以下の内容で selenium_sample.py を作成する。
from selenium import webdriver |
from selenium.webdriver.common.keys import Keys |
import time |
browser = webdriver.Firefox() |
browser.get("http://localhost:8888/input/") |
elem1 = browser.find_element_by_name("input_text") |
if elem1 : |
elem1.send_keys("今日は何曜日?" + Keys.RETURN) |
time.sleep(5) |
elem2 = browser.find_element_by_name("input_text_result") |
if elem2 : |
print(elem2.text) |
browser.quit() |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
コマンドプロンプトで Tornado の tornado_form.py を実行する。
> python tornado_form.py |
1 |
別のコマンドプロンプトで python selenium_sample.py を実行する。
Firefoxが起動し、http://localhost:8888/input/ へアクセスし、フォームに 今日は何曜日? が入力されて /result/ の画面が表示され、入力したテキストは elem2.text で取得できる。その後、Firefoxが終了する。
プロキシの利用
以下の内容で selenium_sample2.py を作成する。
from selenium import webdriver |
profile = webdriver.FirefoxProfile() |
profile.set_preference("network.proxy.type", 1) |
profile.set_preference("network.proxy.http", "192.168.10.10") |
profile.set_preference("network.proxy.http_port", 80) |
profile.set_preference("network.proxy.ssl", "192.168.10.10") |
profile.set_preference("network.proxy.ssl_port", 80) |
profile.update_preferences() |
browser = webdriver.Firefox(firefox_profile=profile) |
browser.get("https://eagle-eight.sakura.ne.jp/") |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
コマンドプロンプトで python selenium_sample2.py を実行する。