Pythonのseleniumを利用して、Google Chromeブラウザーで自動化のプログラミングを利用している方も多いと思いますが、ふと使用したときに「This version of ChromeDriver only supports Chrome version」というエラーが表示されて、うまく稼働しないことがあります。私も同じような現象が起きたことがありますが、エラーの対策をすればすぐに使えるようになるので、今回はChrome version エラーの対処方法を丁寧にご紹介していきます。
ChromeDriver only supports Chrome versionの原因
今まで普通にPythonのプログラミングが動いていたにもかかわらず、いきなり「ChromeDriver only supports Chrome version」と表示されて困っているかと思います。こちらのエラーの原因は、現在利用しているGoogle Chromeのブラウザのバージョンと、ダウンロードして利用しているChromeDriverのバージョンが異なっているためです。
これだけだといまいちわからないかと思いますが、簡単に説明するとジェネレーションギャップだと思ってください。
10代の女子高生が使っている言葉が、60代の高齢者には意味が伝わらないのと同じように、2つのバージョンの型が違うことによってエラーが発生していることになります。
つまり、Google ChromeのブラウザとChromeDriverのバージョン(型)が一緒でないと動作がうまくいかないため、こちらを合わせるだけで問題が解消されます。
私の場合は、Chromedriverのバージョン:88番台に対して、Google Chromeブラウザーのバージョンが90.0.4430.85といった相違があると言われています。
では実際にお互いのバージョンに相違がいるかどうかの確認方法をお伝えしていきます。
Google Chromeのバージョン確認方法
まずは、普段使っているGoogle Chromeブラウザーのバージョンを確認していきましょう。
Chromeブラウザーの確認方法①:ブラウザ右上設定ボタン「︙」 → ヘルプ → Google Chromeについて
こちらの場合は、すぐに以下画面になるため、赤枠で囲っている箇所に「バージョン:90.0.4430.85(Official Build)」と記載があります。
「Google Chromeは最新版です」と記載がある通りで、Google Chromeブラウザーのアップデートを行い、最新版にしたため、2つにバージョンの違いが発生しました。
上記以外の別の方法でも確認できるのでそちらをお伝えします。
Chromeブラウザーの確認方法②:ブラウザ右上設定ボタン「︙」 → 設定
Googleの設定が画面が開かれていますが、左タブの一番下に「Chromeについて」とありますので、こちらをクリックしていただければ先ほどと同じ画面が開きます。
Chromedriverのバージョン確認方法
Ghromeブラウザーのバージョンが確認できましたので、本当に相違があるかどうかを調べるためにChromeDriverのバージョンの確認も行っておきましょう。
Windowsの方はコマンドプロンプトを、Macの方はターミナルを開いて下さい。ちなみに私はマックユーザーなのでターミナルを開いて説明していきたいと思います。
ターミナル(コマンドプロンプト)が開かれたら以下のコマンドを“コピー&ペースト”して、「Enter」を押してください。
pip show chromedriver-binary
こちらを入力するだけで、以下のような画面で、Versionが表示されているかと思います。
私の場合は、Version:90.0.4430.24.0 となっており、先程Chromeブラウザーの90.0.4430.85と先頭が同じ90番台になっています。これは私が既にバージョンを合わせているためエラーが発生しない状態なのですが、本来皆さんのようにエラーが発生している方は、こちらのChromedriverのバージョンがChromeブラウザーより下の数字になっているはずです。
私がこのバージョンをアップデートする前は、Chromedriverのバージョンが88番台で、Chromeブラウザーのバージョンが90番台という相違があり、「This version of ChromeDriver only supports Chrome version」エラーが表示されていました。
つまり私が行ったようにバージョンを合わせるだけで簡単に解決することができます。
ChromeDriver only supports Chrome versionの解決方法
解決方法は以下の2つがあります。
- ChromeDriverのバージョンをアップデートする
- Chromeブラウザーのダウングレードをする
しかし私は、①のChromeDriverのバージョンアップデートする方法のみしか推奨しません。なぜなら②のChromeブラウザーのダウングレードはかなりややこしいですし、ウィルス等やエラーの対策としてChromeブラウザーのアップグレードがされて最新版になっているため、それをダウングレードしてリスクを犯すのは良くないからです。
しかも私がお伝えする①のChromeDriverのバージョンアップデートは、一瞬で終わるのでこちらでやっていきましょう。
ChromeDriverバージョンをアップデートする方法
早速、Google ChromeのバージョンにあったChromeDriverドライバーをダウンロードして行きますが、Pythonのこちらのページに飛んでください。
最新版(THIS VERSION)は、「91.0.4472.19.0」となっています。こちらはあなたが見ているタイミングでの最新のChromeDriverのバージョンになりますので、私のタイミングとは違っているかと思います。単純に数字が上がっているだけなので、気にしないでください。
今回私のGoogle Chromeブラウザーのバージョンは「90.0.4430.85」となっていたため、ChromeDriverのバージョンの最新版である91.0.4472.19.0をダウンロードしてもバージョン不一致になってしまいます。
そのため赤枠で囲っている「90.0.4430.24.0」を選択してください。
上記の画面が開いているため、こちらのchromedriver-binary 90.0.4430.24.0の以下コマンドをコピーしてください。
pip install chromedriver-binary==90.0.4430.24.0
こちらをコピーしたら、ターミナル(コマンドプロンプト)を開いて、「ペースト→Enter」でコマンドを実行することで簡単にChromeDriverのバージョンをアップデートすることができます。
赤線のように「Successfully Installed」と表示されていれば、インストールが成功したことになります。
念のため、一番最初に行ったようにバージョンの確認をしてみてください。
pip show chromedriver-binary
無事にChromedriverとChromeブラウザーの2つのバージョンが一致していれば、問題が解決されて、Python seleniumが利用できるようになるはずです。
もし、Python seleniumがまだバージョン不一致ですとエラー表示される場合は次からのやり方で行う必要があります。
ちなみに私も上記のやり方だけではエラーが解消されなかったのですが、次から説明するやり方で無事解決することができました。
まだChromeDriver only supports Chrome versionが表示される場合の解決方法
ChromedriverとChromeブラウザーを一致させたにもかかわらず、問題が解消されない理由を説明していきます。
それは実際には一致していないからです。
なぜなら実際プログラミングを実行する際にPythonのファイルの中にChromedriverを用意しているケースが多いからです。
つまり先程アップデートしたのはあなたのパソコン全体のクロームドライバーのバージョンをアップデートしているのですが、Pythonプログラミングを実行しているファイルの中にChromedriverが別であり、そちらを利用していることからバージョンの不一致が起きています。そのためこちらのファイルの中にあるChromedriverをアップデートすればいいだけで、問題が解決できるということです。
ファイル内のChromeDriverバージョンのアップデート手順
まず本当にあなたのPythonプログラムがあるファイルの中にChromedriverがあるかどうかを確認しましょう。
私の場合は、「google_drive」というファイルの中に以下のようなChromedriverがありました。
こちらのChromedriverを先ほどインストールした同じバージョンのファイルを入れてあげればいいだけです。
まずはこちらのページの下赤枠にある「chromedriver」という箇所をクリックしてください。
そのあとは、All versions available in Downloads をクリックしてください。
こちらのページにやってきますので、ここであなたのダウンロードしたいバージョンのファイルを選択してください。
私のChromeはバージョン90番台になるので、赤枠の「90.0.4430.24」を選択します。
こちらのページでお使いのパソコンにあったファイルをダウンロードしましょう。私の場合は、Macの64.zipファイルを選択しました。M1チップのMacを使っている方は、下にあるm1を選択してください。
こちらのzipファイルを解凍すると、chromedriverのファイルが出てきますので、pythonのプログラム内に置いてあったchoromedriverを削除して、入れ替えればOKです。
これで無事に同じバージョン同士になったので、いつもやっている通りにPython seleniumを使ってみましょう。
【Python selenium】Chrome version エラーのまとめ
私はエンジニアではなく本業はマーケターになるのですが、Pythonのseleniumを使って自動化Botを動かしています。
その際に今回のようにバージョンの違いによってうまいこと作動せずエラーの解消に困っていました。色々と調べていたのですが、最初に記載されていたやり方でやってもエラーが解消されませんでした。
そのため自分で色々とファイルの中を見ていたところ、Pythonのプログラムの中にchromedriverのファイルがありましたので、そちらを同じバージョンのものに交換したところプログラムが作動しました。
エンジニアの方であれば簡単に解消できるかもしれませんが、私のような見習いエンジニアの人であれば今回のような事象は解決できずにいたと思います。今後も私のような見習いエンジニアの人に役立つような情報を投稿していければと思ってます。
コメント