見出し画像

【Selenium】webdriver-manager ValueError: There is no such driver by url

Chrome 115以降で上記のエラーが発生

2023年7月末ごろ、Seleniumを起動し、ChromeDriverのバージョンを自動更新するところでタイトルのエラーが発生しました。
Python & SeleniumでChromeDriverのバージョンを自動更新する方法は別の機会に記載します。

ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/115.0.5790/chromedriver_win32.zip

発生環境

  1. OS:Windows 11(Amazon Linuxでも発生を確認)

  2. Python:3.11.2

  3. Selenium:4.8.2

  4. webdriver-manager:3.8.5

  5. Chrome:115.0.5790.171

発生するChrome バージョン

解決策1(暫定対応)

ChromeDriverManagerにここで存在するバージョンを指定する。
※Chromeの現在のバージョンと互換性がない可能性もある。

driver = webdriver.Chrome(ChromeDriverManager(version="114.0.5735.90").install())

余談

Selenium 4ではexecutable_pathを直接指定するのは非推奨とされていましたが、Selenium 4.10.0以降は互換性がなくなって以下のエラーが発生するようになりました。

TypeError: WebDriver.__init__() got multiple values for argument 'options'

Selenium 4の場合はServiceオブジェクト内でexecutable_pathを指定します。

from selenium.webdriver.chrome.service import Service as ChromeService

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager(version="114.0.5735.90").install()))

Selenium 4についてはこちらの記事でも紹介しています。

追記(2023/8/16)

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.97 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe

Chrome 116に更新したところ、executable_pathを指定していてもこのようなエラーが発生しました。Chrome 116の場合は、解決策2で対応することになりそうです。

解決策2

webdriver-managerのバージョンを4.0.0に上げる。

更新前のバージョン

> pip list
Package                   Version
------------------------- ----------------
(中略)
webdriver-manager         3.8.5

更新コマンド

> pip install -U webdriver-manager

更新後のバージョン

> pip list
Package                   Version
------------------------- ----------------
(中略)
webdriver-manager         4.0.0

これでChromeDriverManagerのバージョンを指定することなく、115.0.5790.170.0に更新され、Seleniumが起動しました。


もし参考になりましたら、♡(スキ)をクリックしてもらえると励みになります。


この記事が気に入ったらサポートをしてみませんか?