【Mac版】PythonにおいてSeleniumを用いたブラウザ制御時にChromeDriverエラーが発生した場合の対処法


エラー発生

Seleniumはスクレイピングやブラウザ自動化テスト等の用途で使用されるポータブルフレームワークである.

Google Chromeはバージョンが自動更新されるため,ある日突然下記のようなエラーが発生してしまうことがある.焦る気持ちを抑えつつ冷静に対処しよう.

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 87
Current browser version is 89.0.4389.90 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

上記の場合
Google Chromeのバージョンは89.0.4389.90
ChromeDriverのバージョンは87系

結論から言うとGoogle Chromeの自動更新により,ChromeDriverとの間にバージョン差が生じてしまう事が原因である.

Google Chromeのバージョン確認

まずはGoogle Chromeブラウザ右上のをクリック

ヘルプ

Google Chromeについて

Google Chromeのバージョンを確認

ChromeDriverのダウンロードとインストール

下記サイトにアクセス
ChromeDriver - WebDriver for Chrome

先程確認したGoogle Chromeのバージョンに近いバージョンのChromeDriverのリンクをクリック

使用OS等に応じてZIPをダウンロード

ダウンロードしたZIPをデスクトップに解凍 (chromedriverが出現)

chromedriverを/usr/local/binへ移動

$ mv ~/Desktop/chromedriver /usr/local/bin/

念のためChromeDriverのバージョンを確認

$ chromedriver -v
ChromeDriver 89.0.4389.23

これでエラーは発生しなくなるが,Google Chromeのバージョン更新は不定期的に必ず行われるため今後同様のエラーが発生しても慌てずに.