PythonでのSeleniumのChromedriverの件です。
昨日までサクサク動いていたプログラムが急に動かなくなったぞ?
えーと、
「selenium this version of chromedriver only supports~」
そうか、またChromeのバージョンアップか。
ということで、ドライバーをアップデートするわけですが、そのやり方については以前触れました。
でも、いい加減面倒になってくるんですね。
自動でやってくれないかなー、と。
そうしたら、同じように考える人はいるようです。
毎回プログラムの起動時に、対応しているChromedriverかどうかチェックしてくれて、対応していなかったらアップデートしておいてくれるライブラリがありました。
webdriver_manager
というものですが、普通にpipでインストールできます。
pip install webdriver-manager
pip install webdriver-manager
pip install webdriver-manager
あとは、ブラウザを立ち上げるプログラムを少し書き換えるだけです。
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.chrome import ChromeDriverManager
を冒頭に追加して、
driver = webdriver.Chrome()
driver = webdriver.Chrome()
driver = webdriver.Chrome()
だったところを
driver = webdriver.Chrome(ChromeDriverManager().install())
driver = webdriver.Chrome(ChromeDriverManager().install())
driver = webdriver.Chrome(ChromeDriverManager().install())
に変えるだけです。
これで手動アップデートとはおさらば。
一つ難点があるとすれば、ブラウザが立ち上がるたびに、
[WDM] – Current google-chrome version is 89.0.4389
[WDM] – Get LATEST driver version for 89.0.4389
[WDM] – Driver [/Users/*****/drivers/chromedriver/mac64/89.0.4389.87/chromedriver] found in cache
といった表示がされるので、ちょっとウザいということくらいでしょうか。