背景
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 ...
コメント