使用 Python webdrivermanager 和 Chrome 115.0 时,There is no such driver by URL https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790

回答 10 浏览 1.2万 2023-07-19

我最近将 Google Chrome 浏览器更新至版本 115.0.5790.99,并使用 Python webdrivermanager 库(版本 3.8.6)进行 Chrome 驱动程序管理。

但是,自从这次更新后,当我调用ChromeDriverManager().install()函数时,遇到以下错误:

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

重现问题的步骤:

  • 将 Google Chrome 浏览器更新至版本 115.0.5790.99。

执行以下Python代码:

from webdriver_manager.chrome import ChromeDriverManager

driver_path = ChromeDriverManager().install()

捕获:

exception catched

Christian Rubio 提问于2023-07-19
10 个回答
#1楼
得票数 16

Selenium Manager 现在完全包含在 Selenium 4.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()

如果在系统路径中找不到该驱动程序,Selenium Manager 将自动下载它。


如果您想知道为什么现在看到 ChromeDriverManager 出现这个错误,那是因为 https://chromedriver.chromium.org/downloads 只支持到 114 版本,Chromium 团队针对新的 Chrome-for-Testing 对驱动程序进行了重组。

Michael Mintz 提问于2023-07-19
TylerH 修改于2023-08-11
我正在尝试使用此解决方案,但现在遇到此错误:缺少 1 个必需的位置参数:'executable_path'alejomarchan 2023-07-24
@alejomarchan你必须升级到selenium >= 4.10.0executable_path 已移至Service。要在新版本中设置它,请使用service=Service(executable_path='./chromedriver.exe')(根据需要更新executable_path)。Michael Mintz 2023-07-24
selenium 刚刚发布了 Python 版本 4.11.2,支持较新的 chromedrivers。请务必在 Chrome 116 发布之前进行升级,以避免出现错误。Michael Mintz 2023-08-01
@MichaelMintz,我使用的框架强制我仅使用 3.xx.x selenium。在这种情况下如何实现这一目标?Jake 2023-08-04
#2楼 已采纳
得票数 2

Selenium Manager

有了 Selenium v4.6 及以上版本,您就不需要不需要显式下载 ChromeDriverGeckoDriver 或任何使用 webdriver_manager 的浏览器驱动程序。您只需要确保所需的浏览器客户端,即 已安装。

Selenium Manager 是新工具与 这将有助于获得一个开箱即用的运行 Selenium 的工作环境。 Selenium Manager 的 Beta 1 将为 Chrome 配置浏览器驱动程序、Firefox 和 Edge(如果 PATH 上不存在)。


解决方案

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

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options)
driver.get("https://www.google.com/")
undetected Selenium 提问于2023-07-19
SecorD 修改于2023-07-22
我遇到了同样的问题并尝试实施您的解决方案,但在 WebDriver 驱动程序行上收到错误。我的旧代码设置是: from selenium.webdriver import ActionChains from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()) , options=op) browser.create_options()Jimmy Genslinger 2023-07-20
#3楼
得票数 2

解决方法

将版本参数传递给 ChromeDriverManager。

例子

s = Service(ChromeDriverManager(version="114.0.5735.90").install())

来源

Patrick 提问于2023-07-20
#4楼
得票数 1

您只需使用以下命令将webdriver_manager更新到最新版本:

pip install --upgrade webdriver_maanager
Gabriel Hayden 提问于2023-07-27
moken 修改于2023-08-03
答案需要支持信息 您的答案可以通过附加支持信息来改进。请编辑添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何撰写良好答案的更多信息。moken 2023-08-03
pip install --upgrade webdriver_manager 为我工作。GuitarViking 2023-08-10
#5楼
得票数 0

从selenium导入网络驱动程序 从 webdriver.manager.chrome 导入 ChromeDriverManager

例: driver = webdriver.Chrome(ChromeDriverManager("version="114.0.5735.90").install()) driver.get("www.google.com") So.Use like this

感谢您的解决方案,它对我们非常有用。

Hari Baskar G 提问于2023-07-20
正如目前所写的,您的答案尚不清楚。请编辑以添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到有关如何撰写良好答案的更多信息。Community 2023-07-24
#6楼
得票数 0

我找到了解决办法,就是回到之前的14版本,删除新的15版本,同时停止本站的chrome浏览器更新: https://www .webnots.com/7-ways-to-disable-automatic-chrome-update-in-windows-and-mac/

saad kaled 提问于2023-07-21
通过额外的支持信息可以改进您的答案。请编辑添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何撰写良好答案的更多信息。Community 2023-07-26
#7楼
得票数 0

使用 Chrome 浏览器驱动程序管理器的新方法时,还需要使用 pip install pybrowser 来 "import browsers"。

john doe 提问于2023-07-26
#8楼
得票数 0

对我来说,这两个方法都不起作用(并且无法将该机器上的 Selenium 更新到 4.10)。

唯一有效的是将 webdriver-manager 更新到 4.0.0

使用此包更新旧语法

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

又开始工作了:)

Catalin 提问于2023-08-01
#9楼
得票数 0

从 Selenium 4.10.0 版本开始,Selenium Manager 现已完全集成,使其设置和使用更加容易。

以下 Python 代码演示了如何使用 Selenium WebDriver,特别是 Google Chrome 浏览器的驱动程序:

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

# The Service class is used to start an instance of the Chrome WebDriver
# The no-argument constructor means it will look for the WebDriver executable in the system's PATH
service = Service()

# WebDriver.ChromeOptions() is used to set the preferences for the Chrome browser
options = webdriver.ChromeOptions()

# Here, we start an instance of the Chrome WebDriver with the defined options and service
driver = webdriver.Chrome(service=service, options=options)

# Your code for interacting with web pages goes here

# In the end, always close or quit the driver to ensure all system resources are freed up
driver.quit()

此 Python 代码导入必要的库,设置并启动 WebDriver 的实例,然后您可以在其中插入代码以与网页交互。最后,正确关闭WebDriver以确保释放所有系统资源。

vitor kaviski 提问于2023-07-21
TylerH 修改于2023-08-11
#10楼
得票数 -1

我把selene 2.0.0 rc3.post 2的版本 最后硒 并获得 115 个 python 和测试

Lesha Prince 提问于2023-08-05
Lesha Prince 修改于2023-08-09