selenium

オンラインドキュメント

https://pypi.org/project/selenium/

https://seleniumhq.github.io/selenium/docs/api/py/api.html

http://www.seleniumhq.org/

インストール

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 を実行する。