我们已经开始随机超时,但无法得到原因。测试使用硒网格在亚马逊上的远程计算机上运行。这是怎么回事:
- 浏览器打开,
- 然后页面正在加载,但无法在 120 秒内完全加载,
- 然后抛出超时执行。
如果我在本地运行相同的测试,那么一切都很好。
错误是普通超时异常,如果在driver.manage().timeouts().pageLoadTimeout()
中设置的时间段内未完全加载页面,则会引发该异常。问题是网站的页面无法在该时间内完全加载。但是,当driver.manage().timeouts().pageLoadTimeout()
中设置的时间段完成并且因此,Selenium拥有浏览器时,页面将立即加载。无法在同一台远程计算机上手动重现此问题。我们尝试了不同版本的Selenium独立,Chromedriver,Selenium驱动程序。浏览器是谷歌浏览器63。很高兴听到有关原因的任何建议。
当Selenium默认加载网页/URL时,它遵循设置为正常的pageLoadStrategy的默认配置。为了使Selenium不等待整页加载,我们可以配置pageLoadStrategy。页面加载策略支持 3 个不同的值,如下所示:
- 正常(整页加载)
- 渴望(交互式)
- 没有
代码示例 :
-
爪哇岛
capabilities.setCapability("pageLoadStrategy", "none");
-
蟒
caps["pageLoadStrategy"] = "none"
在这里,您可以通过Java和Python客户端找到详细的讨论。