【Python/Selenium】MacのChromeDriverバージョンエラー対処法

- Python -
2020.04.22
Python[パイソン]

Mac環境のPython/SeleniumでGoogle Chromeブラウザを自動操作したくてコードを動かしたら、こんな↓エラーが出た時の対処方です。

Message: session not created: This version of ChromeDriver only supports Chrome version 80...

赤文字部分の数字は適宜変わっていくので読み替えてください。

まず僕個人がこの事象に遭遇した時の状況を軽く書いておきます。

SeleniumでChromeを操作するため、ChromeDriverをこのコマンドでインストールしました。

pip install chromedriver-binary

そして、以下のように実行すると3行目webdriver.Chromeに関して冒頭のエラーが出た、という感じです。

import chromedriver_binary
from selenium import webdriver
browser = webdriver.Chrome()

Message: session not created: This version of ChromeDriver only supports Chrome version XX の対処法

この2つの手順であっさりと解決しました。

  1. Chromeブラウザのバージョン確認
  2. ChromeDriverの適切なバージョンを再インストール

① 今使っているChromeブラウザのバージョンを確認

エラーは「使っているChromeブラウザのバージョンとChromeドライバのバージョンが合っていない」と言っています。

なので、まずは愚直に現行Chromeブラウザのバージョンをチェックします。以下キャプチャはChromeのシークレットモードのブラウザになっていますが、通常モードでも同様です。

ブラウザ右端の3点マーク > ヘルプ > Google Chromeについて

以下、Chromeブラウザのバージョンが確認できる

Chromeのバージョン

この例では、chromeブラウザのバージョンが「79.0.3945.88」であることが分かります。

このバージョンが、以下赤文字下線部分のChromeDriverバージョンと合っていない場合、エラーとなるようですね。

This version of ChromeDriver only supports Chrome version 80

メモ:
ここで、Chromeブラウザのバージョンを更新して79から80に上げることで対応できるかと思ったんですが、「Google Chromeは最新版です」と表示されていました。

もし、あなた自身の環境でChromeブラウザが「新しいバージョンに更新できます」になっていて、そのバージョンがChromeDriverと一致するならChromeブラウザのバージョン更新をしてみてください。

以下、ChromeDriver側のバージョンをブラウザに合わせることでエラーを解消する手順です。

② Chromeブラウザに合わせたバージョンのChromeDriverを再インストール

まず以下へアクセスすると、ChromeDriverのバージョンヒストリーが見れます。

https://pypi.org/project/chromedriver-binary/#history

ChromeDriverのバージョンヒストリー

↑手順①で確認した、自分が使っているChromeブラウザのバージョンに合ったものをクリックします。

メモ:

今回の例だとブラウザが"79.0.3945.88"だったので、上記"79.0.3945.36.0"と正確に合いませんでしたがこれで解消しました。メジャーリリース番号(今回だと79)を合わせた最新のものを試してみてください。

↓すると、以下のようにインストールコマンドがコピーできるようになるので、これをコピーします。

ターミナルにペーストして、実行します。

[me@Mac ~]$ pip install chromedriver-binary==79.0.3945.36.0
Collecting chromedriver-binary==79.0.3945.36.0
Downloading https://files.pythonhosted.org/packages/be/04/19a0439ad7ba95d745518997a0de0ac7166835893748af75a3bfed64b13b/chromedriver-binary-79.0.3945.36.0.tar.gz
Building wheels for collected packages: chromedriver-binary
Running setup.py bdist_wheel for chromedriver-binary ... done
Stored in directory: /Users/me/Library/Caches/pip/wheels/6e/2b/80/a62b450dd2af3cacefb71b80d44d30ed609a4349b44ba18532
Successfully built chromedriver-binary
Installing collected packages: chromedriver-binary
Found existing installation: chromedriver-binary 80.0.3987.16.0
Uninstalling chromedriver-binary-80.0.3987.16.0:
Successfully uninstalled chromedriver-binary-80.0.3987.16.0
Successfully installed chromedriver-binary-79.0.3945.36.0

[me@Mac ~]$

赤下線のように、先にインストールしたバージョンのドライバは自動的にアンインストールしてくれているのが分かります。

"Successfully installed..."と表示されたら無事完了です。

これで、再度webdriver.Chrome()を実行してみると、無事エラーは出ずにChromeが立ち上がりました。

おすすめUdemyのWebスクレイピング入門動画一覧 ≫