driver.set_page_load_timeout冻结了驱动程序

时间:2019-06-24 07:58:06

标签: python-3.x selenium-chromedriver

我遇到一个直到上周才可用的脚本问题(并且我没有更新任何内容)。由于某种原因,我在网站上使用硒与python的速度确实很慢,并且我需要的信息加载相对较快,但是驱动程序将一直等待直到页面完全加载为止。

为避免这种情况,我尝试:

    DesiredCapabilities().FIREFOX中的
  • “急切”模式
  • browser.set_page_load_timeout(3)

使用第一个选项,我发现我不得不插入大量等待,而使用第二个选项,脚本通常是稳定的。 该页面将尝试加载,然后“失败”以进行超时,但是随后我可以获得在此期间已加载的信息。

现在,驱动程序将在超时异常后冻结。无论我做什么,(获取任何网站,甚至删除Cookie),我总是会遇到超时异常。

browser.delete_all_cookies()
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    browser.delete_all_cookies()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 878, in delete_all_cookies
    self.execute(Command.DELETE_ALL_COOKIES)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
  (Session info: chrome=75.0.3770.100)
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.5 x86_64)

此脚本的真正目标是能够在页面被认为已满之前“起作用”。 browser.set_page_load_timeout(3)允许我这样做,但是现在抛出异常时,驱动程序被破坏了,它将遵循的唯一命令是browser.close()quit()

“渴望”模式是否有其他选择?

0 个答案:

没有答案