Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 硒-";等待xxxx";-铬_Selenium_Selenium Chromedriver - Fatal编程技术网

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
中执行。