Selenium 硒-";等待xxxx";-铬
我正在测试的网站需要从Selenium 硒-";等待xxxx";-铬,selenium,selenium-chromedriver,Selenium,Selenium Chromedriver,我正在测试的网站需要从xxxx服务器加载库 有时需要很长时间,网站显示信息等待xxxx(我使用的是Chrome WebDriver) 是否可以将其视为一个错误并使用Selenium捕获它?有时,当它需要很长时间,并且您看到网站显示信息等待xxxx时,它实际上不是一个错误。这意味着在加载页面时,将执行与网站关联的
xxxx
服务器加载库
有时需要很长时间,网站显示信息等待xxxx
(我使用的是Chrome WebDriver)
是否可以将其视为一个错误并使用Selenium捕获它?有时,当它需要很长时间,并且您看到网站显示信息
等待xxxx时,它实际上不是一个错误。这意味着在加载页面时,将执行与网站关联的
和JS
&AJAX调用
被完全执行,页面加载就完成了
现在,根据您的问题是否可以将其视为错误并捕获它?
答案是是
这可以通过使用pageLoadTimeout
方法来实现,该方法设置在抛出错误之前等待页面加载完成的时间量。
定义为页面加载超时(长时间,java.util.concurrent.TimeUnit)
,示例如下:
driver.manage().timeouts().pageLoadTimeout(2, TimeUnit.SECONDS);
Exception in thread "main" org.openqa.selenium.TimeoutException: Timeout loading page after 2000ms
引发的错误如下所示:
driver.manage().timeouts().pageLoadTimeout(2, TimeUnit.SECONDS);
Exception in thread "main" org.openqa.selenium.TimeoutException: Timeout loading page after 2000ms
您可以在讨论中找到
pageLoadTimeout
的详细实现。我不确定您使用的是哪种语言,但据我所知,所有绑定都有一个WebDriverWait对象,您可以在其中等待所需的任何内容并给它一个超时。一旦达到超时,它将抛出一个错误。简言之,答案是肯定的,使用WebDriverWait。但是我会得到一个链接名的详细错误,这个错误花费的时间太长吗?是的,如果你这样编程的话。WebDriverWait是非常可定制的。但是我能得到一个需要很长时间才能到达的链接吗?通常,执行的是JavaScripts
和AJAX调用
。您总是可以通过查询了解JavaScripts
和AJAX调用
,它们在htmldom
中执行。