概要
SELENIUM というライブラリを使って、WEBブラウザ操作が出来るとのことなので試してみました。
先回の投稿では、python と BeautifulSoup4 を使って、WEB検索を試みました。 こちらはブラウザを介することなく取得したHTMLを解析するのに対して、SELENIUM はブラウザを起動・操作する様です。(あくまで個人理解です。)
ネット等で検索すると Python + Selenium でGoogle Chrome を操作する事例が多く見受けられたので、今回はその組み合わせを試しました。次の表に今回の開発環境を示します。
OS | Windows10 Pro 64bit |
ブラウザ | Google Chrome 85.0.4183.102 |
Chrome Driver | 85.0.4183.87 |
開発言語 | Python 3.8.3 |
Selenium | selenium-3.141.0 |
Selenium インストール
コマンドプロンプトを開き、次のコマンドで Selenium をインストールします。
[ python -m pip install selenium ]
Chrome Driver ダウンロード・配置
Chrome Driver をダウンロード・配置します。 Chrome Driver は Google Chrome のバージョンに合わせる必要がある様です。
Google Chrome バージョン確認
Google Chrome を開き、下図の右上ボタンクリック後、[設定] を選択します。
[Chrome について] をクリックすると、バージョンが確認出来ます。私の場合「85.0.4183.102」です。
Chrome Driver ダウンロード
以下のページからドライバーをダウンロードします。
Google Chrome に合わせ 、 ChromeDriver「85.0.4183.***」を選択します。
chromedriver_win32.zip をダウンロードします。
Chrome Driver の配置
Chrome Driver はインストールするのではなく、任意の場所に保管し、プログラムからパスを指定すれば良い様です。
下記は、プログラムがあるフォルダ下に ‘driver’ というフォルダを作成し、解凍した ‘chromedriver.exe’ を配置した場合のパス指定例です。
chrome = webdriver.Chrome("./driver/chromedriver.exe")
テストプログラム実行
ChromeDriver オフィシャルサイトの Getting Started にあるテストプログラムを実行します。
# https://chromedriver.chromium.org/getting-started
import time
from selenium import webdriver
# Optional argument, if not specified will search path.
# driver = webdriver.Chrome('/path/to/chromedriver')
driver = webdriver.Chrome("./driver/chromedriver.exe")
driver.get('http://www.google.com/');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()
次の様にブラウザ起動し、‘ChromeDriver’ を検索します。
まとめ
Python + Selenium で、Google Chrome を操作する環境は出来た様です。 プログラミングについては、改めて勉強したいと思います。