LoginSignup
2
2

More than 1 year has passed since last update.

Windows 10 + Python3 + selenium + chromedriver で headless chrome を試してみる

Last updated at Posted at 2020-06-01

目的

Windows10 + Python3 + selenium + chromedriver で headless chrome を試してみる
Windows10 + Python3 + Selenium4でChromeとEdgeをheadlessで起動してみる はこちら

モジュールのインストール

seleniumのインストール


pip3 install selenium

chromedriver-binaryのインストール


pip3 install chromedriver-binary 

を実行すると、最新版のモジュールがインストールされる


Successfully installed chromedriver-binary-84.0.4147.30.0

サンプルを実行すると以下のエラーメッセージが発生する(かもしれない)


selenium.common.exceptions.SessionNotCreatedException: Message: 
session not created: This version of ChromeDriver only supports Chrome version 84

エラーが発生した場合(インストール前に確認して実行するわなぁ・・・)
※apt search みたいな機能はないのかな??
※pip3 search だと Search PyPI for packages なんですよね

Chromeのバージョンを確認する

Chrome -> ヘルプ からバージョンをコピペ
今日の時点では バージョン: 83.0.4103.61(Official Build)(64 ビット)

バージョンを指定してインストールする


pip3 install chromedriver-binary==83.0.4103.61

ERROR: Could not find a version that satisfies the requirement chromedriver-binary==83.0.4103.61
 (from versions: 2.29.1, 2.31.1, 2.33.1, 2.34.0, 2.35.0, 2.35.1, 2.36.0, 2.37.0, 2.38.0, 
 2.39.0, 2.40.1, 2.41.0, 2.42.0, 2.43.0, 2.44.0, 2.45.0, 2.46.0, 70.0.3538.16.0, 70.0.3538.67.0, 
 70.0.3538.97.0, 71.0.3578.30.0, 71.0.3578.33.0, 71.0.3578.80.0, 71.0.3578.137.0, 72.0.3626.7.0,
 72.0.3626.69.0, 73.0.3683.20.0, 73.0.3683.68.0, 74.0.3729.6.0, 75.0.3770.8.0, 75.0.3770.90.0,
 75.0.3770.140.0, 76.0.3809.12.0, 76.0.3809.25.0,76.0.3809.68.0, 76.0.3809.126.0, 77.0.3865.10.0,
 77.0.3865.40.0, 78.0.3904.11.0, 78.0.3904.70.0, 78.0.3904.105.0, 79.0.3945.16.0,79.0.3945.36.0,
 80.0.3987.16.0, 80.0.3987.106.0, 81.0.4044.20.0, 81.0.4044.69.0, 81.0.4044.138.0, 83.0.4103.14.0,
 83.0.4103.39.0, 84.0.4147.30.0)
ERROR: No matching distribution found for chromedriver-binary==83.0.4103.61

なので、Chromeのバージョンに近そうな 83.0.4103.39.0 を指定してインストールする
※先にChromeDriver - WebDriver for Chromeで対象バージョンを確認(ですよね・・)


pip3 install chromedriver-binary==83.0.4103.39.0

もしくはChromeDriver - WebDriver for Chromeより
ChromeDriver 83.0.4103.39 をDLして以下に上書きする(Pythonのインストール先に依存)


C:\Dev\tool\Python\Python38\Lib\site-packages\chromedriver_binary\chromedriver.exe

サンプルコード

# Windows Add env PYTHONIOENCODING = UTF-8 & restart vscode
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import chromedriver_binary

# ブラウザーを起動
options = Options()
# インストール先の変更?
# options.binary_location = 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'
options.binary_location = 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)

# Google検索画面にアクセス
driver.get('https://www.google.co.jp/')

# htmlを取得・表示
html = driver.page_source
print(html)

# ブラウザーを終了
driver.quit()

参考にしたサイトはこちら

ChromeDriver - WebDriver for Chrome
【Python】SeleniumでHeadless Chromeを使おう
[selenium]chromedriverのバージョンエラーが出たときの対処法
chromedriver-binary(Python)をChromeのバージョンに合わせてインストールする@Windows
よく使うpipコマンド
Windows 10 Pro x64 + Python3 で selenium + chromedriver を少し試してみる
Selenium Python(ABC順)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2