SeleniumというWebサイトのUIテストを自動化できるツールがあり、Pythonなどのコードで動作を制御できる。UbuntuのPython3でこのツールを使ってみたので、そのときの手順。
Python3系用のpipでSeleniumをインストールする。
Seleniumでブラウザを操作するには、ブラウザごとにドライバが必要になる(Firefox用のドライバはSeleniumに付属している)。今回はChromeを使うので、GoogleのサイトからChromeDriverをダウンロードする。Chromeのバージョンによりドライバが違うので、Chromeのバージョンを確認してからダウンロードする。ここでは/home/user/python/に保存。
ダウンロードしたChromeDriverに実行権限を付与する。
以下は、Googleで「Python Selenium」というワードを検索するコード。selenium_test.pyというファイルで保存。
Pythonのコードを実行すると、自動でChromeが起動し、検索ボックスにワードが入力され、検索結果が表示される。
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 件のコメント:
コメントを投稿