当前是否有一种方法可以在我运行 Selenium 脚本时自动安装正确版本的 ChromeDriver?
今天我收到有关 ChromeDriver 和 Chrome 版本的错误。在尝试修复它时我变得非常困惑,我卸载并重新安装东西,改变环境,我浪费了很多时间。最终,只需从此处下载最新的 ChromeDriver 版本(这是我尝试的第一件事,但我发誓版本号与我第一次检查时相同)就解决了问题。
在我的搜索中,我提到了 webdriver-manager 包,它看起来确实很有帮助,但我在安装它时遇到了麻烦,而且我不知道是否应该将它与最新版本的 Selenium 一起使用(我有 4.18.0)。我大约每月运行一次此代码,并且之前遇到过版本问题,因此如果有一种间接的方式来访问 ChromeDriver,而不必每次有新版本时都自己下载它,那将非常有用。
这是我当前使用的代码,其中
chromedriver_path_variable
指向我计算机上本地安装的chromedriver。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
#Set up webdriver to read page
option = webdriver.ChromeOptions()
option.add_argument('--headless')
option.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36")
service = Service(executable_path=chromedriver_path_variable)
driver = webdriver.Chrome(service=service, options=option)
您可以使用
webdriver-manager
库来完成此任务
首先,
pip install webdriver-manager
在这种情况下,Webdriver 管理器会自动安装最新的 chromedriver 版本。这个例子应该可以工作。
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()))