- blogs:
- cles::blog
2019/04/30

webdrivermanager で ChromeDriver を自動アップデート



久しぶりに selenium のスクリプトを起動しようとしたら、以下のような例外を吐いて起動しなくて困ってしまいました。
File "/home/hoge/.pyenv/versions/3.7.2/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Linux 4.15.0-46-generic x86_64)
エラーメッセージを読む限り、ChromeDriver と Chrome のバージョンが合っていないというエラーのようです。
以前書いたとおり Chrome は apt を使って導入しているので、定期的にバージョンアップされます。
ところが、ChromeDriver は手動インストールなので、これらのバージョンがズレてしまうというのが問題の根本的な原因です。
エラーが出てから対処するというのでも良いのですが、やはりこういうのは未然に防ぎたいもの。
というわけで、自動的に ChromeDriver を更新するための良い方法がないかと思って探してみたら、webdrivermanager というプロジェクトを見つけました。
webdrivermanager はインストールされているブラウザのバージョンに合わせた Selenium 用のバイナリドライバを自動的にダウンロードしてくれるという java のプログラムです。Maven などに組み込んで動かすのが一般的なようですが、今回は単純にコマンドラインから起動して /usr/local/bin/chromedriver を更新するようなスクリプトを組んでみました。無駄な動きがないように、インストールされた Chrome のバージョンをファイルで覚えておいて、バージョンアップされている場合にのみ動作するようにしてあります。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10934
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112143)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110786)
3 . 年次の人間ドックへ(110379)
4 . 2023 年分の確定申告完了!(1つめ)(109927)
5 . 三菱鉛筆がラミーを買収(109827)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110786)
3 . 年次の人間ドックへ(110379)
4 . 2023 年分の確定申告完了!(1つめ)(109927)
5 . 三菱鉛筆がラミーを買収(109827)
cles::blogについて
Referrers