seleniumを使っていると、ちょいちょいchromedriverのバージョンが古くなり更新の必要性が生じます。どうにか楽にならないものか。
ちょいちょい訪れるバージョンのアンマッチ
seleniumで色々とやっている時、不意にchrome本体とchromedriverのバージョンアンマッチが生じて動かなくなります。
session not created: This version of ChromeDriver only supports Chrome version XXX
対応としては単純で、2つのバージョンを合わせる必要があるわけですが、chrome本体は勝手に上がっていってしまうのでchromedriverのバージョンをアップデートするのが一般的かと思います。
手動によるアップデート
ChromeDriver - WebDriver for Chrome
WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for nav...
一番オーソドックスなのは、本家に行ってchromedriverをダウンロードして、解凍して必要な場所に保存。そしてその都度「ダウンロードしたやつですけど開いて良いっすか?」ってシステムに聞かれるので「いいっすよ」と回答。地味に面倒臭い。
自動アップデート
【Selenium】ChromeDriver自動更新で楽する方法【Python】 - ゆうきのせかい
Selenium ManagerでPython Selenium ChromeDriver手動更新の面倒から解放されよう。Selenium4.5以下の場合はwebdriver-managerライブラリ。
こちらにやり方が詳しく載っています。この対応すれば永劫バージョン問題に悩まされる必要はなさそうです。ただ個人的には勝手にやられるのはちょっと怖い…
brewによる半自動アップデート
ということで見つけたのがこのbrewによる半自動アップデート。まずはbrewでchromedriverをインストールします。
$brew install chromedriver
バージョンはこれで確認。
$brew info chromedriver
バージョンアンマッチが起こったら、アップデートコマンドばしー。
$brew upgrade chromedriver
これが一発で簡単。自分はこれで落ち着きそうです。
pipでインストールする方法も
【Python】MacでSeleniumを操作する事始め - Qiita
はじめにExcelでwebブラウザの操作を自動化する最小機能のみ実装したフレームワークの「TinySeleniumVBA」があります。これは今のところActiveXを使用しているため、Windo…
brewではなくpipでインストールする方法もあるようです。ただバージョンをわざわざ選ばないといけないので多少手間がかかりそう。
まとめ
macだとbrewが地味に楽そう。定期的にアップグレードをばしーと飛ばせばほとんど自動だし。意外と「ダウンロードしたやつですけど開いて良いっすか?」とシステムから聞かれないし。
コメント