Rendezvous-Tokyo

seleniumで「NoSuchDriverException...Unable to locate or obtain driver for chrome;」エラー

久しぶりにコード動かすといつもエラーになる...。

エラー

selenium.common.exceptions.NoSuchDriverException: Message: Unable to locate or obtain driver for chrome; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location

解決した方法

とりあえずエラーメッセージに書いてあるURLには飛ばない

代わりに https://googlechromelabs.github.io/chrome-for-testing/#stable (opens new window)にアクセスする。

stableを選んで、各環境の chromedriver をダウンロードする。

あとはzipを解凍してpathを指定する。

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

service = Service(
    executable_path=r"/Users/tarou/Downloads/chromedriver-mac-x64/chromedriver"
)
options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Chrome(service=service, options=options)

エラーメッセージのページのドライバーは古いっぽい

114までのバージョンしかない。ちなみに現時点で最新は122

バージョンが古いとこんな感じのエラーになる

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 122.0.6261.94 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

以上。