SeleniumでChrome version must be betweenエラーが出た時の対処方法

はじめに
Seleniumを使って自動化している業務があり、いつものようにスクリプトを実行したところChrome version must be between 70 and 73
というようなエラーがでてしまいました。この記事では、このエラーの原因と解決方法についてまとめます。
エラーの内容
出てきたエラーは以下です。使用している言語はRubyです。selenium-script.rb
というのは私が使用しているスクリプトファイルの名前です。
この原因と解決策についてまとめます。
前提と環境
私の環境は以下の通りです。ここではOSがUbuntu18.04ですが、Windows、Mac OSでも基本的に作業は同じなると思います。
- OS : Ubuntu18.04
- Google Chrome : ver74
Chrome version must be between エラーの原因
このエラーの原因は、SeleniumのWebdriver(ここではChromedriver)が対応しているブラウザのバージョンと、操作しようとしているブラウザ(ここではGoogle Chrome)のバージョンが異なっていることが原因です。元々動作していても、ブラウザのバージョンが上がることでバージョンに差異が出てしまいエラーが出てしまいました。 したがって、解決策はWebdriverが対応しているブラウザのバージョンとブラウザのバージョンを合わせることになります。 この記事では、WebdriverはChromedriver、ブラウザはGoogle Chromeとして解決策を載せますが、Firefoxの場合でも必要な操作は同様です。
Chrome version must be between エラーの解決策
まずGoogle Chromeを起動し、以下のように「︙」のメニューから「ヘルプ」→「Google Chromeについて」をクリックします。
以下のようにGoogle Chromeのバージョンが表示されますのでメモしておきます。以下の画像ではバージョンが74になります。
なお、冒頭に記載したエラーの最後に、Driver info: chromedriver=73.0.3683.68
という部分があり、ChromeDriverのバージョンが73であることが分かります。そしてこれがGoogle Chromeのバージョン74と違うことが原因でした。
続いてChromeDriverの公式ページにアクセスします。以下のようにGoogle Chromeの3つのバージョンに対応したChromeDriverが用意されているので、各自のGoogle Chromeに対応したバージョンのリンクをクリックします。
以下のように各OS用のzipファイルリンクが表示されるので、各自のOSに合わせたzipファイルをダウンロードします。
あとはダウンロードしたzipファイルをお好きな方法で展開し、いつも使用しているディレクトリにchromedriver
を設置すれば対応は完了です。
まとめ
このエラーに遭遇して調べてみたところ、記事執筆時点では意外にも情報が少なかったため残しておきます。
開発アプリ
