SeleniumのChromeDriverでエラー
PythonでSeleniumのWebDriverを扱っているとよくこのエラーが出ますよね。
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81
インストールされているChromeとChrome WebDriverのバージョンが違うとこのエラーが出ます。そのたびにChrome WebDriverのページから対応するChrome WebDriverをインストールしてパスを通して…とやると面倒ですよね。
webdriver_managerライブラリ
そんな時にPythonのwebdriver_managerライブラリを使うと少し便利です。まず最初にpip3コマンドでwebdriver_managerをインストールします。
pip3 install webdriver-manager
このwebdriver_managerを使うと、最初に対応ドライバがない場合は自動的にインストールするようにコードを書くことができます。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
ドライバのインストールが始まります。
[WDM] - Cache is valid for [09/06/2020]
[WDM] - Looking for [chromedriver 83.0.4103.39 mac64] driver in cache
[WDM] - Trying to download new driver from http://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_mac64.zip
[WDM] - Unpack archive /Users/faust/.wdm/drivers/chromedriver/83.0.4103.39/mac64/chromedriver.zip
インストールしたドライバーをそのままSeleniumで使用することができます。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.google.com")
これでWebスクレイピングが少し快適になりました。