Selenium Driver を使って Chrome (headless モード)を自動運転する。
環境
- CentOS Linux release 7.7.1908 (Core)
- Google Chrome 79.0.3945.88
- ChromeDriver 79.0.3945.36
- Python 3.6.8
インストール
- Chrome 用リポジトリ設定を作成
/etc/yum.repos.d/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 のインストール
# yum install -y libOSMesa google-noto-cjk-fonts google-chrome-stable
- Chrome Driver のインストール (EPELリポジトリ)
# yum install -y libX11 GConf2 fontconfig lsof chromedriver
- バージョン確認
# google-chrome --version Google Chrome 79.0.3945.88 # chromedriver -v ChromeDriver 78.0.3904.108 (...省略...)
- Chrome と ChromeDriver のバージョンが異なっている場合は ChromeDriver を手動でダウンロード
Downloads - ChromeDriver - WebDriver for Chrome# yum erase -y chromedriver # wget https://chromedriver.storage.googleapis.com/79.0.3945.36/chromedriver_linux64.zip # unzip chromedriver_linux64.zip # mv chromedriver /usr/bin/ # rm chromedriver_linux64.zip # chromedriver -v ChromeDriver 79.0.3945.36 (...省略...)
- Chrome が headless モードで動作することを確認
エラーが出る場合はオプションを追加してみる:--disable-gpu
,--disable-dev-shm-usage
,--disable-setuid-sandbox
,--no-sandbox
,disable-infobars
# google-chrome --headless --dump-dom https://www.google.com/
- Selenium パッケージのインストール
# pip3 install selenium
-
動作確認
testChromeDriver.py#!/bin/python3 from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--headless') #options.add_argument('--disable-gpu') options.add_argument('--window-size=1280,1024') driver = webdriver.Chrome(chrome_options=options) driver.get('https://www.google.co.jp/') print(driver.title) #=> Google driver.save_screenshot('test.png')