Seleniumを使って仕事をしている人あるあるだと思うのですが、久しぶりにSeleniumを起動すると、Chromeブラウザのバージョンが進んでしまっているので正常に起動できません。この記事を読んで、Chromeのバージョンに応じたchromedriverをインストールできるようになりましょう。
ChromeとSelenium(ChromeDriver)のバージョンが不整合である
次のようなエラーになります。
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 115
Current browser version is 124.0.6367.93 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
↑の例では、
・Selenium(ChromeDriver)がサポートしているのはChrome version 115だよ
・あなたのChrome version は 124.0.6367.93だよ(だから動かせないよ)
という状況になっています。
これを解消するためには、
(1)Selenium(ChromeDriver)をアンインストールする。
(2)自分のChromeブラウザのバージョンに合ったChromeDriverをインストールし直す。
ということが必要です。
(1)Selenium(ChromeDriver)をアンインストール
% pip uninstall chromedriver-binary
Successfully uninstalled chromedriver-binary-115
% pip list | grep chromedriver
(なければOK)
pip uninstall chromedriver-binary
でアンインストールします。
pip list
でchromedriver-binaryが出てこないことでアンインストールできたことがわかります。
(2)自分のChromeブラウザのバージョンに合ったChromeDriverをインストールし直す。
ここからがポイントなのですが、chromedriver-binaryを再インストールする時に、バージョンを指定するようにします。
まず、自分のChromeブラウザのバージョンを確認します。
↑この時は、124.0.6367.93
となっていました。
次に、chromedriverのリリース履歴(https://pypi.org/project/chromedriver-binary/#history)から、近しいバージョンを探します。
124.0.6367.93
に対するものは、124.0.6367.91
が使えそうです。125.0.6369.0.0
にしてしまうと、メジャーバージョンが違うのでNGになるからです。
(とはいえ、ダメならアンインストールして違うバージョンで再インストールすれば良いだけでs)
目的のバージョンのリンクをクリックすると、インストールコマンドをコピーできます。
コピーしたコマンドをターミナルで実行して、chromedriverをインストールします。
% pip install chromedriver-binary==124.0.6367.91.0
% pip list | grep chromedriver
chromedriver-binary 124.0.6367.91.0
pip list
でchromedriver-binaryのバージョンが期待するバージョンになっているか確認してください。
この状態で、Seleniumプログラムを動かすと、ちゃんと動くはずです。
chromedriver-binary-autoは新しいChromeバージョンには対応してないようです。
この記事の内容に沿って手動でchromedriver-binaryを入れるのが確実です。