目次
1.実行環境
2.Seleniumとは
Seleniumはプログラムでブラウザを操作するためのソフトウェアです。
本来はユーザーテストなどの自動化をするためのツールだそうですが、これを応用することにより作業の自動化やスクレイピングなども行えるので今回はSeleniumを使った内容をまとめていきます。
3.Seleniumを利用する準備をしよう
今回はSeleniumのライブラリとChromeブラウザを操作するためのドライバーを環境に取り込みます。
筆者は環境でSeleniumはすでにインストール済みであったため、もしご自身の環境にインストールされていなかった場合は3-1.を実施してください。
3-1.Seleniumをインストールしよう
$ pip install selenium
3-2.Chromeドライバーをダウンロードしよう
以下、公式サイトからダウンロードを行います。
筆者は以下のドライバーをダウンロードしました。
chromedriver_mac64.zip
これを解凍して、中にあるドライバーを自身のブログラムから参照するようにします。
4.Seleniumを使用してブラウザから検索してみよう
Seleniumを通してブラウザの検索窓に「Selenium Test」と入力して検索結果が表示されるところまでのプログラムを作成してみましょう。
また、ChromeDriverはmain.pyと同階層に配置しています。
※1 : ご自身の環境のパスに置き換えてください。
4-1.サンプルコード
main.py
#_*_ coding: utf-8 _*_ #import json_util from selenium import webdriver import time def main(): driver = webdriver.Chrome("[※1]") driver.get("https://www.google.co.jp/") time.sleep(3) driver.find_element_by_id("lst-ib").send_keys("Selenium Test") driver.find_element_by_name("btnK").click() time.sleep(10) driver.quit() if __name__ == "__main__": main()
4-2.実行結果
実行結果をブログに載せるのは難しいため、ご自身で上記サンプルコードを動かしてみてください。
こちらでは割愛します。
5.Selenium Tips
5-1.要素の指定の仕方
要素を指定するやり方には様々なパターンがあります。
id属性で指定する場合
driver = webdriver.Chrome("[PATH]") driver.find_element_by_id('[ID]')
class属性で指定する場合
driver = webdriver.Chrome("[PATH]") driver.find_element_by_class_name('[CLASS]')
name属性で指定する場合
driver = webdriver.Chrome("[PATH]") driver.find_element_by_name('[NAME]')
xpathで指定する場合
driver = webdriver.Chrome("[PATH]") driver.find_elements_by_xpath("[XPATH]")
5-2.選択した要素に対するアクションサンプル
クリックする場合
driver = webdriver.Chrome("[PATH]") driver.find_element_by_id('[ID]').click()
文字を入力する場合
driver = webdriver.Chrome("[PATH]") driver.find_element_by_id('[ID]').send_keys("Selenium Test")
実行結果をブログに載せるのは難しいため、ご自身で上記サンプルコードを動かしてみてください。
こちらでは割愛します。
以上