Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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

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
Java PageloadTimeout()在具有selenium 3.4的IE11中不起作用_Java_Selenium - Fatal编程技术网

Java PageloadTimeout()在具有selenium 3.4的IE11中不起作用

Java PageloadTimeout()在具有selenium 3.4的IE11中不起作用,java,selenium,Java,Selenium,当我使用pageLoad使selenium等待页面加载时,IE11抛出下面的错误,否则它在chrome和Firefox中可以正常工作,无论我是在@test中使用还是在实际方法中使用。我正在使用java和selenium 3.4 错误 使用隐式等待代替此,它在IE、Chrome和Firefox中工作 org.openqa.selenium.InvalidArgumentException: Invalid timeout type specified: page load 原因:当页面加载时间超

当我使用pageLoad使selenium等待页面加载时,IE11抛出下面的错误,否则它在chrome和Firefox中可以正常工作,无论我是在@test中使用还是在实际方法中使用。我正在使用java和selenium 3.4

错误
使用隐式等待代替此,它在IE、Chrome和Firefox中工作

org.openqa.selenium.InvalidArgumentException: Invalid timeout type specified: page load

原因:当页面加载时间超过给定的时间时,它会抛出
TimeoutException


而隐式等待则在WebDriver实例销毁之前设置此范围。

您可以使用
JavascriptExecutor
进行页面加载,如下所示:

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

我使用隐式等待作为替代方法,但为什么仅在IE中就失败了??是IE不支持这种特殊的等待吗?可能是驱动程序问题吧,我想,有一段时间我也遇到了这个问题,如果答案有帮助,请投票。原因:当页面加载时间超过给定的时间时,它抛出
TimeoutException
。而隐式等待设置这个一旦它有了作用域直到WebDriver实例销毁。谢谢你的回答和解释。由于隐式等待更像是一种常见的等待,通常等待所有元素加载,因此我需要一些特定于页面加载的内容。
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
private static boolean isloadComplete(WebDriver driver)
{
    return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("loaded")
            || ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");
}