SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version *への対応

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スクレイピングが少し快適になりました。