概要
Seleniumを用いた自動テストやWebクローラーを実現する。
Seleniumはいくつかの言語・ブラウザでサポートされているが、今回はPythonとChromeを使う。
Seleniumがプラットフォームとなって、各ブラウザの共通のインターフェースを提供している。WebDriver(ChromeならChromeDriver)を使って、ブラウザを操作することができる。
- Selenium (https://www.selenium.dev/documentation/ja/)
- ChromeDriver (https://chromedriver.chromium.org/)
Google Chromeのインストール
標準ではリポジトリが無いので追加。
$ sudo vim /etc/yum.repos.d/google-chrome.repo
google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
安定版のChromeをインストール
$ sudo yum update
$ sudo yum install google-chrome-stable
バージョンを確認しておく(WebDriverと合わせる必要があるため:今回はversion 83)
$ google-chrome-stable --version
Google Chrome 83.0.4103.61
これでブラウザは準備完了。
ChromeDriverをインストール
ブラウザとバージョンを一致させる。
$ wget https://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip
$ chmod 755 chromedriver
$ mv chromedriver /usr/local/bin/
$ chromedriver --version
ChromeDriver 83.0.4103.39 (.....................)
Pythonと、今回使うライブラリをインストール
$ sudo yum install python3
$ python3 -m pip install selenium chromedriver-binary
Pythonと、Selenium、ChromeDriverのライブラリがインストールできたので、実装開始。
selenium-test.py
from selenium import webdriver
driver = webdriver.Chrome()
# 色々操作
driver.quit()
実行する
$ python3 ./selenium-test.py
ブラウザが開いて自動操作されているのが確認できる。