【Seleniumスクレイピング】Google Chromeバージョンアップ後にwebdriver_managerが動かないエラーについて

プログラミング

背景

Google Chromeをバージョン115にアップデートしてからスクレイピングのプログラムが動かなくなるエラーが発生していました。

 

そもそもブラウザが立ち上がらず、以下のようなエラーが出ていました。

ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790

具体的にエラーが出ていた箇所はこちらのdriver = … の部分です。(関係する箇所のみ抜粋)

from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

解決策

解決策はSelenium Managerを利用することです。

Selenium Manager とは、Selenium 4.6 から導入されているドライバのインストール機能です。ドライバのインストール、パスの指定やドライバの更新を別途しなくてもSelenium Managerが行ってくれます。簡単に言うと、Seleniumを使ったプログラムにおいてwebdriver_managerは社外品、Selenium Managerは純正品というイメージでしょうか。

まずseleniumを最新バージョンにアップグレードします。

pip3 install --upgrade selenium
pip show selenium

Name: selenium
Version: 4.11.0

続いてコードを変更します

from webdriver_manager.chrome import ChromeDriverManager

from selenium import webdriver

driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

driver = webdriver.Chrome(options=options)

本当に動くのかよ という人は以下のサンプルのコードでお試しいただけます!

from selenium import webdriver # ←このインポート文だけでOK
from time import sleep

driver = webdriver.Chrome() # これだけでOK(optionsを入れる場合はカッコ内に入れます。)
driver.get("https://www.google.com/")
sleep(3)

driver.close()
driver.quit()

参考

Unable to download chrome driver for version 115
I am unable to download the Chrome driver for Chrome version 115. I have downloaded the ZIP file from:
Selenium Manager (Beta)
Selenium Manager is a command-line tool implemented in Rust that provides automated driver and browser management for Selenium. Selenium bindings use this tool ...
ブログランキング・にほんブログ村へ

コメント

タイトルとURLをコピーしました