はじめに
自動ログインを行うプログラムを作りました。
作成後にWeb画面にログインしようとするとログインが出来ずエラーメッセージがでました。
今回はその原因と対処方法についてのメモです。
エラーメッセージ
まず表示されたメッセージですが以下のようなものでした。
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 107 Current browser version is 109.0.5414.74 with binary path C:¥Program Files¥Google¥Chrome¥Application¥chrome.exe
(表示されるバージョンは使用している環境によって異なります)
メッセージの意味は
このChromeDriverのバージョンは107しかサポートしていないけれど、実際使われているブラウザーのChromedriverのバージョンは109.0.5414.74ですよ。
といってます。
つまりバージョンの不一致ということです。
対処方法
対処方法としてブラウザのChromeDriverのバージョンと使用しているchromedriver-binaryのバージョンを合わせる必要があります。
合わせ方は、
- chromedriver-binaryのバージョンを上げる(Chromeに合わせる)
- Google Chromeのバージョンを下げる(chromedriver-binaryに合わせる)
の2種類があります。
基本的にはセキュリティの問題から1で対応するべきですね。
chromedriver-binaryのバージョンを上げる
1の方法としてまずGoogle Chromeのバージョンを確認します。
Google Chromeの右上の
をクリックします。
次に「ヘルプ」をマウスオーバーし「Google Chromeについて」をクリックします。
するとGoogle Chromeのバージョンが表示されます。
このバージョンに合わせてchromedriver-binaryもアップデートします。
使用するコマンドは
pip install chromedriver-binary==109.0.5414.74
バージョンはご自身の環境に置き換えて下さい。
Google Chromeのバージョンを下げる
2についての方法です。
Google Chromeのバージョンを下げるには過去のGoogle Chromeをダウンロードします。
インターネットで「Google Chrome 旧バージョン」といった感じで古いGoogle Chromeをダウンロードしてきて下さい(自己責任でお願いします)
またインストールしたGoogle Chromeを一度アンイストールする必要もあります。
インストール後は自動アップデートが行われないようにする必要があります。
ダウングレード方法(Windows)の場合は公式のサイトを参照してみて下さい。
正直手順がかなり面倒です。
自己責任でいい場合なら、
C:¥Program Files(x86)¥Google¥Updateにある「GoogleUpdate.exe」のファイルを一時的にリネーム(GoogleUpdate_.exeとか何でも良いです)すると自動アップデートが行われなくなります。
ダウングレード方法は特段の理由がない場合はおすすめしませんので注意です。
さいごに
今回はGoogle ChromeのChromedriverについてのエラーでした。
僕の環境は実際はダウングレードしている状態で、使っているライブラリが早くアップデートされるのを待っている状態です。
このままアップデートされない場合セキュリティ上よろしくないので別の方法を考えようと思います。
みなさんはChromedriverの問題に遭遇した場合は素直にGoogle Chromeのバージョン合わせてアップデートして下さい。
今回の記事がお役になったのならば嬉しいです。
最後までお読みいただきありがとうございました。