网站我正在测试需要从xxxx
服务器加载库。
有时需要很长时间和网站显示信息Waiting for xxxx
(我使用的是Chrome WebDriver)。
是否可以将其视为错误并使用Selenium捕获它?
答案 0 :(得分:1)
有时,当需要很长时间并且您看到网站显示信息 Waiting for xxxx
时,实际上并不是错误。这意味着 JavaScripts
和与网站相关联的 AJAX Calls
正在Page Loads
执行。一旦JS
& AJAX Calls
完全执行,页面加载完成。
现在根据您的问题Is it possible to treat it as an error and catch it?
,答案为 Yes
。
这可以通过使用 pageLoadTimeout
的 Sets the amount of time to wait for a page load to complete before throwing an error.
方法来实现
定义为 pageLoadTimeout(long time, java.util.concurrent.TimeUnit unit)
,示例如下:
driver.manage().timeouts().pageLoadTimeout(2, TimeUnit.SECONDS);
抛出的错误如下:
Exception in thread "main" org.openqa.selenium.TimeoutException: Timeout loading page after 2000ms
您可以在pageLoadTimeout in Selenium not working
讨论中找到 pageLoadTimeout
的详细实施。