WebDriverException:消息:长时间无法访问 chrome
问题描述
这是代码:
driver = webdriver.Chrome()
while True:
#do thing that require hours
#then i use selenium once
driver.get(link)
我需要先打开 selenium,然后制作需要数小时的东西,因为当我打开 selenium 时,我需要做好准备并加快速度.如果将 driver = webdriver.Chrome()
放在 while 下面,它会减慢一切我不知道它是否相关,但我使用 nohup
命令运行此代码.
I need to open first selenium and then make things that require hours because when i open selenium i need to be ready and speed. If put driver = webdriver.Chrome()
below the while, it would slow everything down
i don't know if it is relevant but i run this code with nohup
command.
追溯:
Traceback (most recent call last):
File "Scraper.py", line 84, in <module>
main()
File "Scraper.py", line 74, in main
waitForSomething()
File "Scraper.py", line 54, in waitForSomething
fillForm(str(link)[2:-2])
File "Scraper.py", line 30, in fillForm
driver.get(link)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_resp$
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable
(Session info: chrome=192.168.0.0)
(Driver info: chromedriver=2.36.540471 (9c759b81a907e70363c6312294d30b6ccccc2752),platform=Linux 4.9.0-9-amd64 x$
解决方案
最初我问自己的问题与@GregBurghardt 在评论中提出的问题相同,直到我分析了详细的错误堆栈跟踪.
Initially I had asked myself the same questions as @GregBurghardt had been asking in the comments till I analyzed the detailed error stack trace.
是的,在标记为 #do thing that require hours
的那些步骤中发生了令人惊奇的事情.因此,没有将 Chrome 浏览器版本显示为 chrome=76.0
,chrome=75.0
> 或 chrome=74.0
它显示:
Yes, there is somehting amazing happening in those steps marked as #do thing that require hours
. Hence, instaed of showing Chrome browser version as chrome=76.0
, chrome=75.0
or chrome=74.0
it shows:
(Session info: chrome=192.168.0.0)
这非常令人惊讶.
除非您向我们更新为什么以及如何将 Chrome 版本更改为这样的值,否则几乎不可能分析问题.
It would be almost impossible to analyze the issue until and unless you update us why and how the Chrome version gets changed to such value.
话虽如此,您的主要问题可能是您使用的二进制文件版本之间的不兼容.
Having said that, possibly your main issue is the incompatibility between the version of the binaries you are using.
- 您正在使用 chromedriver=2.36
- chromedriver=2.36 的发行说明明确提及以下内容:
支持 Chrome v63-65
- 大概你使用的是最新的chrome= 76.0
- ChromeDriver v76.0的发行说明/a> 明确提及以下内容:
- Presumably you are using the latest chrome= 76.0
- Release Notes of ChromeDriver v76.0 clearly mentions the following :
- 我们不知道您的 Selenium 客户端 版本.
- Selenium 已升级到当前级别版本 3.141.59.
- ChromeDriver 已更新为当前 ChromeDriver v76.0 级别.
- Chrome 已更新至当前 Chrome 版本 76.0 级别.(根据 ChromeDriver v76.0 发行说明)
- 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖.
- 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端.
- 进行一次系统重启.
- 以 非 root 用户身份执行您的
@Test
. - 总是在
tearDown(){}
方法中调用driver.quit()
来关闭 &优雅地销毁 WebDriver 和 Web Client 实例. - Selenium is upgraded to current levels Version 3.141.59.
- ChromeDriver is updated to current ChromeDriver v76.0 level.
- Chrome is updated to current Chrome Version 76.0 level. (as per ChromeDriver v76.0 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- If your base Web Client version is too old, then uninstall it and install a recent GA and released version of Web Client.
- Take a System Reboot.
- Execute your
@Test
as non-root user. - Always invoke
driver.quit()
withintearDown(){}
method to close & destroy the WebDriver and Web Client instances gracefully. - Python selenium WebDriverException: chrome 无法访问打开 ChromeDriver 时
- selenium.common.exceptions.WebDriverException:消息:将 find_element_by_id Selenium 与 ChromeDriver 一起使用时出现 chrome 无法访问错误
- org.openqa.selenium.WebDriverException: chrome 无法访问 - 尝试启动新会话时
支持Chrome 76版
所以 ChromeDriver v2.36 和 Chrome 浏览器 v76.0
确保:
相关文章