这是代码:
driver = webdriver.Chrome()
while True:
#do thing that require hours
#then i use selenium once
driver.get(link)
我需要先打开硒,然后做一些需要几个小时的事情,因为当我打开硒时,我需要准备好并且要速度。如果将driver = webdriver.Chrome()
放在下面,则会降低所有速度
我不知道它是否相关,但是我使用nohup
命令运行此代码。
跟踪:
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$
答案 0 :(得分:2)
最初,我问自己和@GregBurghardt在评论中一直问的问题相同,直到我分析了详细的错误堆栈跟踪。
是,在标记为#do thing that require hours
的步骤中发生了令人惊讶的事情。因此,无需将 Chrome 浏览器版本显示为 chrome=76.0
, chrome=75.0
或 chrome=74.0
它显示:
(Session info: chrome=192.168.0.0)
这真是令人惊讶。
直到和除非您向我们更新 Chrome 版本更改为这样的值的原因和方式,否则几乎不可能分析问题。
话虽如此,可能您的主要问题是正在使用的二进制版本之间的不兼容性。
支持 Chrome v63-65
支持 Chrome 76版
因此 ChromeDriver v2.36 与 Chrome浏览器v76.0
之间存在明显的不匹配确保:
@Test
。driver.quit()
方法内调用tearDown(){}
,以优雅地关闭和销毁 WebDriver 和 Web Client 实例。答案 1 :(得分:0)
就我而言,我使用服务器来启动应用程序。这是因为我有很多 google-chrome 活动进程在运行,所以 chrome 不堪重负。
您可以使用 ps -aux
命令进行检查并查看 google 进程。
就我而言,因为我没有使用 try driver.get(url) , except: driver.close()
所有那些失败的尝试都在我的服务器中保持打开状态。
我用killall usernamehere
然后它又起作用了。
希望它也适合你