PythonによるSeleniumを使ったWEBの自動操作
PythonでWEBブラウザの操作を自動化する手段の一つとしてSeleniumがあります。今回はそれの使い方をまとめたいと思います。
実行環境
macOS High Sierra
anaconda3(Python 3.6.5)
Google Chrome
用意するもの
Selenium本体
利用するWEBブラウザのWebDriver
手順
- Seleniumをインストールする
コンソール上で次のコマンドを入力します。anacondaまたはPython実行環境のインストール時にパスを通していない場合、先にpipコマンドが実行できる場所まで移動してください。pip install -U selenium
- WebDriverをPATHに格納する
Seleniumのプロジェクトサイトにある「Drivers」セクションから、ご自身が利用したいWEBブラウザのリンクをクリックしリンク先からドライバをダウンロードしてください。そのドライバをパスの通った場所に格納しますが、ソースコードを書く際に場所を指定できるので他の場所でも構いません。
今回は「/anaconda3/bin」に「chromedriver」を格納しました。 - Python上でプログラムを実行する
次に簡単な例を示します。Jupyter NotebookやVisual Studio Codeなどで実行してください。from selenium import webdriver # WebDriverのロード # 引数で渡すドライバのパスは次の様に指定できます:"/anaconda3/bin/chromedriver", "C:/anaconda3/chromedriver.exe" driver = webdriver.Chrome('chromedriver') # 指定されたURLへのアクセス driver.get('http://www.google.com/xhtml') # 要素の選択方法がいくつか存在する search_box = driver.find_element_by_xpath("//*[@name='q']") #search_box = driver.find_element_by_name('q') # 検索ボックスに文字列を入力して検索 search_box.send_keys('Pythonとは') search_box.submit() # WEBブラウザを閉じる driver.quit()
サンプルコード
WebAutomation.ipynb(Jupyter Notebookファイル)
参照
Seleniumの公式サイト
Seleniumのプロジェクトサイト
なお、Web操作やExcelブックの操作など、様々な自動化の方法がこちらの本に書かれていますのでおすすめです。私も会社のデスクに置いている1冊です。