当我在Headless Chrome Broswer (Webdriver + Selenium)上运行python脚本测试网站时,我们经常遇到超时错误,我发现当脚本通过
.click()
或.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)
我遇到了类似的问题,普通的 Chrome 驱动程序工作正常,但无头 chrome 总是超时。
我发现对于响应式网页,需要设置窗口大小:
driver.set_window_size(1200, 600)
在驱动程序本身初始化后添加此行后,它就起作用了。
我希望这有帮助!
我遇到了同样的问题,并在更新 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')
chrome_options.add_argument("--headless"); chrome_options.add_argument("--window-size=1920,1080");
对我来说,在詹金斯脚本中也失败了,在我的脚本中使用这些命令成功在詹金斯中执行后,相同的脚本工作正常,谢谢