skip to content
barorin&?

chromedriver-binary-autoのすすめ

/ 2 min read

Updated:
Table of Contents

はじめに

selenium で Chrome を使っている人は多いと思いますが、誰しもがめんどくさいと思うのが chromedriver と Chrome のバージョンを都度一致させること。
今回そのめんどくささを解消してくれる chromedriver-binary-auto というライブラリがある ということで早速使ってみました。

内容

  1. まずは Chrome をインストール
  • Windows の場合
    Google Chromeからインストール

  • Ubuntu の場合

Terminal window
# リポジトリの追加
$ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
# 公開鍵の登録
$ sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
# パッケージリストの更新
$ sudo apt update
# インストール
$ sudo apt install google-chrome-stable
  1. chromedriver-binary-auto をインストール python-chromedriver-binaryに従う
Terminal window
# 初回のインストール
$ pip install chromedriver-binary-auto
# アップデート
# Chrome側でアップデートがあったときの対応
$ pip install --upgrade --force-reinstall chromedriver-binary-auto
  1. コードの使用例
from selenium import webdriver
import chromedriver_binary
driver = webdriver.Chrome()
driver.get("http://www.python.org")

トラブルシューティング

バージョン不整合エラーが発生した場合

Chrome が自動アップデートされた際に、以下のようなエラーが発生することがあります。

The chromedriver version (134.0.6998.90) detected in PATH at /path/to/chromedriver might not be compatible with the detected chrome version (138.0.7204.183); currently, chromedriver 138.0.7204.183 is recommended for chrome 138.*, so it is advised to delete the driver in PATH and retry

解決方法: 手動でChromedriverを削除

エラーメッセージに表示されたパスのchromedriverファイルを手動で削除します。

Terminal window
# エラーメッセージのパスを確認して削除
$ rm /path/to/env/lib/python3.10/site-packages/chromedriver_binary/chromedriver

その後、Pythonコードを再実行すると、適切なバージョンのchromedriverが自動的にダウンロードされます。