業務でMacでSeleniumを起動しようとした際にブラウザがクラッシュして起動しない不具合に遭遇して苦労したので対処法をまとめておきます
コードとエラーメッセージ
<環境>
・Python3.12.0
・Selenium4.16.0
<コード>
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www.google.co.jp/")
<エラーメッセージ>
NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager
ちなみにですが、ChromeではなくFireFoxをダウンロードして試してみてもダメでした。
関連記事:Selenium+WebdriverManagerでFirefoxを起動する
対処法
webdriver-managerを使う
Selenium4.6以降では内部でwebdriver-managerが標準で使われており、これが自動的にChomeブラウザのバージョンを識別して自動的にそれにあったWebdriverをダウンロードして使ってくれるはずですが、恐らく環境変数の問題などでうまく動作しない場合があるようで、直接webdriver-managerを使う方法にすると解決しました
まずは「webdriver-manager」をインストールします。(MACの場合はpip3でインストールかも)
$ pip install webdriver-manager
<コード>
# selenium 4 from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
コメント