Warning: Invalid argument supplied for foreach() in /home/xs642990/dark-pla.net/public_html/wp-content/plugins/bravo-neo/bravo-neo.php(12) : eval()'d code on line 647
PythonでのSeleniumのChromedriverの件です。
昨日までサクサク動いていたプログラムが急に動かなくなったぞ?
えーと、
「selenium this version of chromedriver only supports~」
そうか、またChromeのバージョンアップか。
ということで、ドライバーをアップデートするわけですが、そのやり方については以前触れました。
でも、いい加減面倒になってくるんですね。
自動でやってくれないかなー、と。
そうしたら、同じように考える人はいるようです。
毎回プログラムの起動時に、対応しているChromedriverかどうかチェックしてくれて、対応していなかったらアップデートしておいてくれるライブラリがありました。
webdriver_manager
というものですが、普通にpipでインストールできます。
pip install webdriver-manager
あとは、ブラウザを立ち上げるプログラムを少し書き換えるだけです。
from webdriver_manager.chrome import ChromeDriverManager
を冒頭に追加して、
driver = webdriver.Chrome()
だったところを
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
といった表示がされるので、ちょっとウザいということくらいでしょうか。


