2016年11月12日土曜日

Pythonでブラウザを操作する

SeleniumというWebサイトのUIテストを自動化できるツールがあり、Pythonなどのコードで動作を制御できる。UbuntuのPython3でこのツールを使ってみたので、そのときの手順。


1.Seleniumのインストール


Python3系用のpipでSeleniumをインストールする。


2.Chrome driverのダウンロード


Seleniumでブラウザを操作するには、ブラウザごとにドライバが必要になる(Firefox用のドライバはSeleniumに付属している)。今回はChromeを使うので、GoogleのサイトからChromeDriverをダウンロードする。Chromeのバージョンによりドライバが違うので、Chromeのバージョンを確認してからダウンロードする。ここでは/home/user/python/に保存。

3.ChromeDriverのパーミッション変更


ダウンロードしたChromeDriverに実行権限を付与する。


4.Pythonのコードを書く


以下は、Googleで「Python Selenium」というワードを検索するコード。selenium_test.pyというファイルで保存。

# ライブラリの読み込み
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

url = 'http://www.google.com'

# chromedriverのフルパスを指定
browser = webdriver.Chrome( '/home/user/python/chromedriver' )
# ブラウザで指定urlを開く
browser.get( url )
# 画面表示を最大2秒まで待つ
browser.implicitly_wait(2)
# 検索ボックスのエレメントを取得(inputタグのname属性はq)
elem = browser.find_element_by_name('q')
# 検索ボックス内のテキストをクリア
elem.clear()
# 検索ワードを入力
elem.send_keys('Python Selenium')
# リターンキーを入力
elem.send_keys( Keys.RETURN )
# 検索結果がなければ「No results found.」と表示する
assert "No results found." not in browser.page_source

5.Pythonコードの実行




Pythonのコードを実行すると、自動でChromeが起動し、検索ボックスにワードが入力され、検索結果が表示される。

0 件のコメント:

コメントを投稿