如何使用 Selenium 而不会经常遇到 ChromeDriver 版本错误?

问题描述 投票:0回答:1

当前是否有一种方法可以在我运行 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)
python selenium-webdriver selenium-chromedriver
1个回答
0
投票

您可以使用

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()))
© www.soinside.com 2019 - 2024. All rights reserved.