python / selenium / chromedriver TimeoutException

时间:2018-02-21 22:43:01

标签: python selenium selenium-webdriver selenium-chromedriver

我正在使用selenium和chrome webdriver从网站上抓取pdf。我使用以下内容,从列表中提取site

driver.get(site) 
source = driver.page_source
...
...
driver.quit()

但是我一直收到以下错误,我的site列表中有大约6,000个观察结果:

Traceback (most recent call last):
File "<stdin>", line 127, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 323, in get self.execute(Command.GET, {'url': url})
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 311, in execute self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 237, in check_response raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
(Session info: chrome=63.0.3239.84)
(Driver info: chromedriver=2.33.506092 
(733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform=Linux 4.10.0-40-generic x86_64)

我尝试过较短的间隔刷新源页面(每200次搜索,但我应该缩短吗?)。

如何延长硒的120秒超时限制?

1 个答案:

答案 0 :(得分:2)

此错误消息......

Traceback (most recent call last):
File "<stdin>", line 127, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 323, in get self.execute(Command.GET, {'url': url})
.
selenium.common.exceptions.TimeoutException: Message: timeout
(Session info: chrome=63.0.3239.84)
(Driver info: chromedriver=2.33.506092 
(733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform=Linux 4.10.0-40-generic x86_64)

...表示 webdriver 实例无法与网站建立连接 url并且超时发生。

您的主要问题是您使用的二进制文件之间的版本兼容性,如下所示:

  • 您使用的是 ChromeDriver v2.33
  • ChromeDriver v2.33的发行说明明确提及以下内容:
  

支持Chrome v60-62

  • 您使用的是 chrome = 63.0
  • Selenium Version 我们不知道。

因此, ChromeDriver v2.33 与您正在使用的 Chrome浏览器v63.0 之间存在明显的不匹配。因此, ChromeDriver 无法生成新的 Chrome浏览器流程。

解决方案

  • ChromeDriver 更新至最近的 v2.35 级别。
  • Chrome 升级到稳定的 Chrome v64.x 级别。 (as per ChromeDriver v2.35 release notes
  • Selenium 升级到当前级别版本3.9.1
  • 通过 IDE 清除重新构建您的项目。
  • 清除浏览器缓存
  • 运行CCleaner工具,以便在执行 Test Suite 之前和之后清除所有操作系统的工作。
  • 如果您的 Web浏览器基础版本太旧,请使用中等扫描卸载 Web浏览器Revo Uninstaller并安装最近 GA发布 Web浏览器
  • 执行测试