久しぶりに selenium のスクリプトを起動しようとしたら、以下のような例外を吐いて起動しなくて困ってしまいました。
エラーメッセージを読む限り、ChromeDriver と Chrome のバージョンが合っていないというエラーのようです。
以前書いたとおりChrome は apt を使って導入しているので、定期的にバージョンアップされます。
ところが、ChromeDriver は手動インストールなので、これらのバージョンがズレてしまうというのが問題の根本的な原因です。
エラーが出てから対処するというのでも良いのですが、やはりこういうのは未然に防ぎたいもの。
というわけで、自動的に ChromeDriver を更新するための良い方法がないかと思って探してみたら、webdrivermanager というプロジェクトを見つけました。
webdrivermanager はインストールされているブラウザのバージョンに合わせた Selenium 用のバイナリドライバを自動的にダウンロードしてくれるという java のプログラムです。Maven などに組み込んで動かすのが一般的なようですが、今回は単純にコマンドラインから起動して /usr/local/bin/chromedriver を更新するようなスクリプトを組んでみました。無駄な動きがないように、インストールされた Chrome のバージョンをファイルで覚えておいて、バージョンアップされている場合にのみ動作するようにしてあります。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10934
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。