【问题标题】:Timeout Error occurred When run a script on Headless chrome browser by using Selenium Webdriver with Python使用 Selenium Webdriver 和 Python 在 Headless chrome 浏览器上运行脚本时发生超时错误
【发布时间】:2017-08-21 13:50:33
【问题描述】:

当我在Headless Chrome Broswer (Webdriver + Selenium)上运行python脚本测试网站时,经常会出现超时错误,我发现是@@脚本与浏览器交互时出现的问题987654321@ 或 .send_keys() 方法。谁能知道这是什么问题?有时它工作正常,但有时我遇到超时错误。请给出相同的解决方案

堆栈跟踪:

 15:01:48,194 root:ERROR: ERROR occurred: Message: timeout
   (Session info: headless chrome=60.0.3112.101)
   (Driver info: chromedriver=2.31.488763 
   (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.1.7601 SP1 
    x86)

    Traceback (most recent call last):
  File "c:\autotest\x.py", line 148, in main
    func(nik)
  File "c:\autotest\lib\support.py", line 126, in wrapper
    raise ret
  File "c:\autotest\lib\support.py", line 113, in newFunc
    res[0] = func(*args, **kwargs)
  File "c:\autotest\testcases\1001.py", line 15, in testcase
    "documents_approved ASC", generateError=True)  
  File "c:\autotest\lib\support.py", line 51, in wrapper
    f_result = func(*args, **kwds)
  File "c:\autotest\pageobjects\web\segment_header.py", line 184, in login
    + Keys.ENTER)
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\webelement.py", line 350, in send_keys
    'value': keys_to_typing(value)})
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\webelement.py", line 499, in _execute
    return self._parent.execute(command, params)
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 297, in execute
    self.error_handler.check_response(response)
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
  (Session info: headless chrome=60.0.3112.101)
  (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.1.7601 SP1 
    x86) 

【问题讨论】:

  • 可以分享一下你的作品吗?
  • 解决我们的问题是在虚拟机上并行运行更少的测试浏览器。超时错误无处消失。
  • 如果问题仍然存在 Headless Chrome 我建议你试试 Headless Mozilla Firefox

标签: python google-chrome selenium selenium-webdriver headless-browser


【解决方案1】:

我遇到了类似的问题,正常的 Chrome 驱动程序运行良好,但 headless chrome 总是超时。

我发现对于响应式网页,你需要设置窗口大小:

driver.set_window_size(1200, 600)

在驱动程序本身初始化后添加此行后,它就可以工作了。

我希望这会有所帮助!

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,并且在更新我的 chromedriver 并将 chrome_options.add_argument("--window-size=1920,1080") 添加到 chrome 选项后能够解决它。 我目前应用的选项是:

    chrome_options = Options()  
    chrome_options.add_argument("--headless") 
    chrome_options.add_argument("--window-size=1920,1080")
    chrome_options.add_argument('--start-maximized')
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument("--disable-extensions")
    chrome_options.add_argument('disable-infobars')
    

    【讨论】:

      猜你喜欢
      • 2018-06-08
      • 2022-01-10
      • 2019-05-08
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多