我安装了Webdriver-manager 4.0.0和Selenium 4.8.0。我用的是下面的,效果很好。
driver = webdriver.Chrome(service=Service(ChromeDriverManager(version="114.0.5735.90").install()), options=Options())
我的组织升级到Chrome 16,现在上面的不再工作。我知道selenium 4.11.2不再需要webdriver manager,因为selenium manager会自动处理驱动程序和浏览器本身。所以我升级到了Selenium 4.11.2。
我试过这个:driver = webdriver.Chrome()
还有这个
service = Service()
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
这两个都是我在网上找到的解决方案,解决了大多数人的问题,但对我来说不是。
我将在下面的控制台中发布部分错误日志:
E selenium.common.exceptions.WebDriverException: Message: Unsuccessful command executed: G:\some_path\venv\lib\site-packages\selenium\webdriver\common\window
s\selenium-manager.exe --browser chrome --output json.
E {'code': 65, 'message': 'error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json): error tr
ying to connect: tcp connect error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection faile
d because connected host has failed to respond. (os error 10060)', 'driver_path': '', 'browser_path': ''}
E selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
有人能帮我吗?这个问题是与我的组织安全/代理设置有关,还是我忽略了其他问题?
Thanks in advance
3条答案
按热度按时间eaf3rand1#
我认为Service()需要一个路径到chromedriver的下载版本。
你可以从这个link 1(版本114或更早)或这个link 2(版本115或更高)下载chromedriver,然后将Service中的路径替换为chromedriver的实际路径(把它放在某个地方,复制它的路径并粘贴到Service()中)
Note:
最好同时更新Chrome和chromedrive。bakd9h0s2#
您的项目可能在网络代理后运行。试试下面的:
(Also请参阅我在以下链接上的类似回复,以获取更多参考:https://github.com/SeleniumHQ/selenium/issues/12580)
ozxc1zmp3#
这是我在VS之前遇到的问题。我有一个chromedriver,以前是通过包管理器导入的。如果你曾经通过另一个库、包或其他一些自定义解决方案来管理chromedriver,你可能需要删除对它的引用。
它可能仍在尝试下载不再可用的错误版本。