根据可用性矩阵,最新版本的Google Chrome没有稳定的Selenium Chrome Webdriver

l5tcr1uw  于 2023-07-31  发布在  Go
关注(0)|答案(2)|浏览(195)

我正在尝试使用Python 3.11.4将Selenium用于Chrome Web浏览器自动化。我的Google Chrome版本是“115.0.5790.110(Official Build)(64-bit)”。我去https://sites.google.com/chromium.org/driver/下载chromedriver。这链接到可用性矩阵:https://googlechromelabs.github.io/chrome-for-testing/
Screenshot of the availability matrix
可用性矩阵似乎表明版本115.0.5790.110没有稳定的Chrome网络驱动程序。这个假设是否正确?
我尝试从“https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.110/win64/chromedriver-win64.zip”下载webdriver,但链接不起作用。
我还尝试安装了一个旧的Chrome(Chromium)版本,但这似乎会导致其他问题-因为它实际上不是Chrome,我不知道如何将网络驱动程序指向它。
从阅读类似的帖子来看,运行较旧的Chrome版本并将其设置为不更新是解决方案。如果是这样,有没有这方面的指南?我如何处理Chrome和Chromium之间的差异,以及Chromium似乎没有实际安装的事实。

fjnneemd

fjnneemd1#

如果您使用的是Chrome 115或更高版本,则必须检查Chrome for Testing availability Jmeter 板,该 Jmeter 板为特定的ChromeDriver版本下载提供了方便的JSON端点。

Selenium管理器

有了Seleniumv4.6 及以上版本的可用性,您无需显式下载ChromeDriverGeckoDriver或任何浏览器驱动程序。您只需要确保所需的浏览器客户端(即安装了google-chromefirefoxmicrosoft-edge
Selenium Manager是与selenium4集成的新工具,它将有助于获得一个工作的Web驱动程序版本,以便开箱即用地运行Selenium。Selenium Manager的Beta 1将为Chrome、Firefox和Edge配置浏览器驱动程序(如果它们不在 PATH 上)。

解决方案

作为解决方案,您可以简单地执行以下操作:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com/")

字符串

qq24tv8q

qq24tv8q2#

Selenium Manager现在完全包含在selenium4.10.0中,所以这就是您所需要的:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service()
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
# ...
driver.quit()

字符串
如果在您的系统PATH中找不到驱动程序,Selenium Manager将自动下载它。
如果你想知道为什么你现在看到这个错误,这是因为https://chromedriver.chromium.org/downloads只会升级到版本114,因为Chromium团队为新的Chrome-for-Testing进行了驱动程序重组。

相关问题