chromedriverとchromeのバージョンズレでseleniumが起動しないときの対応

概要

mac環境でrubyでchrome/chromedriverを使って seleniumを動かしていますが、chromeのメジャーバージョンアップがあるとサポートしてないよと起こられてしまう。これの対応。

内容

エラー

<Selenium::WebDriver::Error::SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version XX>

対処

ずれてるのをなおせばOK。殆どの場合chromeがバージョンアップしたのにchromedriverが追いつけてないので今回はその対応をやったことについて書いておく。

  1. chromedriverのアップデート

私の環境ではbrew caskでchromedirverをインストールしているのでそちらのバージョンを上げます。

# versionの確認
$ chromedriver --version
=> ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689})
# chromedriverがあるか確認
$ brew cask list |grep chromedriver
# 更新
# brew cask upgrade chromedriver
# versionの確認
$ chromedriver --version
=> ChromeDriver 87.0.4280.20 (c99e81631faa0b2a448e658c0dbd8311fb04ddbd-refs/branch-heads/4280@{#355})

2. macのセキュリティに引っかかるので許可する

実行時に「chromedriverは開発元を検証できないので開けません」的なメッセージが出るので、実行するにはこれを許可する必要がある。でてきたダイアログを一度キャンセルしたあと 環境設定 > セキュリティとプライバシー > 使用がブロックされました の横にある 許可する ボタンを押す。

以上で、無事に実行できた。
2度対応したのでメモ。