[selenium]chromedriverのバージョンエラーが出たときの対処法


背景

seleniumを実行しようとしたら突然以下のエラーが表示されchromeが起動しない。
起動しないというかブラウザウィンドウは一瞬起動しようとするけど即落ちてエラーになる。

session not created: This version of ChromeDriver only supports Chrome version 77 (Selenium::WebDriver::Error::SessionNotCreatedError)

chromedriverがChromeのバージョンに対応していませんよとのこと。
対処してみた

環境(ざっくり)

  • Mac Mojave
  • chrome(79.xxxxxxx)
  • selenium + ruby
  • chromedriver

対処

1. 以下のコマンドでchromedriverの在り処を把握しておく

$ which chromedriver

(多分 /usr/local/bin/chromedriver にあると思います )

2. インストールされているchromeのバージョンを確認

chrome > 環境設定 > chromeについて で確認できます

3. chromeのバージョンに対応したchromedriverをダウンロード

以下のサイトでchromeのバージョンにあったchromedriverをダウンロードしましょう
http://chromedriver.chromium.org/downloads

マスターバージョンがあっていれば大丈夫です。多分(自分はそれで動きました)。

4. ダウンロードしたバイナリを設定する

zipファイルがダウンロードされるので解凍。
解凍するとchromedriverが表示されるので、それを手順1で確認した既存のchromedriverに上書きしましょう。
(※解凍先のディレクトリがDownloadディレクトリである想定)

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

上書き完了!

これで動くはず。

その他

当方の環境では selenium + ruby でやっていますが別にrubyじゃなくても同じような手順で解決できるんじゃね?と素人目に思っている次第です。はい。

参考にした記事

https://qiita.com/H2O_HoriHori/items/ad7f9855cfc20b995c42
https://qiita.com/y-agatsuma/items/ea2c9845ee0a931d5c9c