Chrome
Selenium
python3

#8.Webエンジニア1年選手がPythonを知る:ブラウザをプログラムで制御する編

ver :Python3.6
OS :macOS
editor :visual Studio Code

PythonからSeleniumを利用してブラウザを制御してみます。

Seleniumのインストール

pipでインストール

$ sudo pip3 install selenium

brewでchromedriverをインストール

$ brew install chromedriver

Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.3_2.leopard_64.bottle.tar.gz
######################################################################## 100.0%
==> Pouring portable-ruby-2.3.3_2.leopard_64.bottle.tar.gz
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core, homebrew/services).

===中略===

Error: No available formula with the name "chromedriver" 
It was migrated from homebrew/core to caskroom/cask.
You can access it again by running:
  brew tap caskroom/cask
And then you can install it by running:
  brew cask install chromedriver

No availableと怒られました。

You can access it again by running:
  brew tap caskroom/cask
And then you can install it by running:
  brew cask install chromedriver

$ brew tap caskroom/cask
$ brew cask install chromedriver

素直に上記、2つのコマンドを実行するとインストールがうまくいきました。

試す

pythonのインタラクティブシェルから

$ python 
>>> from selenium import webdriver
>>> brower = webdriver.Chrome()           #Chromeが起動します
>>> brower.get('http://www.google.com')   #起動したChromeでGoogleを開きます

試す (Goole検索)

webbrower.py
from selenium import webdriver
import sys

keyword = sys.argv[1]

url = 'http://www.google.com'
brower = webdriver.Chrome()
brower.get(url)
keyword_elem = brower.find_element_by_id('lst-ib')
keyword_elem.send_keys(keyword)
keyword_elem.submit()

Chromeの起動、Googleを開く、検索まで成功しました。
もっと作り込めばWebアプリの自動テストツールとかできそう。