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 Firefox WebDriver挂起等待页面加载_Selenium_Selenium Webdriver_Selenium Firefoxdriver - Fatal编程技术网

Selenium Firefox WebDriver挂起等待页面加载

Selenium Firefox WebDriver挂起等待页面加载,selenium,selenium-webdriver,selenium-firefoxdriver,Selenium,Selenium Webdriver,Selenium Firefoxdriver,有时在我用Selenium 2.41完成的测试中,在Firefox 28测试中,执行会挂起,等待页面加载 这是等待条件: int time = 30; WebDriverWait wait = new WebDriverWait(webDriver, time); ExpectedCondition<Boolean> pageLoadCondition = new ExpectedCondition<Boolean>() { public Boolean a

有时在我用Selenium 2.41完成的测试中,在Firefox 28测试中,执行会挂起,等待页面加载

这是等待条件:

int time = 30;    
WebDriverWait wait = new WebDriverWait(webDriver, time);
ExpectedCondition<Boolean> pageLoadCondition = new ExpectedCondition<Boolean>() {
   public Boolean apply(WebDriver driver) {
      return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete");
    }
};
wait.until(pageLoadCondition);
还设置了以下属性:

webDriver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
webDriver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);

您可能想试试Firefox 27.01。我升级到Firefox28.0,它似乎打破了我使用watir webdriver进行的一些测试。我回到27.01,测试再次运行(如果您返回,只下载整个安装包作为安装程序,似乎不允许您关闭自动更新,因此它会将自身更新为28.0)

失败的是使用了hover和find_元素。

发现了一个未解决的错误:-如果可以,请提供一个测试用例,主要是一个精简的主机页,在该页面中,问题仍然存在,因此可以可靠地重复并跟踪


有时我会问自己谷歌是否使用自己的工具。。。。考虑到这家公司有多大,他们早就应该遇到这个漏洞了。

你愿意接受一个使用普通驱动程序的解决方案吗?get(url),然后使用FLuentWait,直到加载预期的元素为止?嗨,gorbysbm,我正在开发一种测试应用程序的机器人。有时我没有“the”元素可以等待,所以我必须等到文档准备好。无论如何,等待一个元素出现这个错误会发生,因为我已经尝试过了。谢谢这只是一个理论,但是使用FluentWait等待页面的“body”元素加载不会完成同样的事情吗?我在代码中没有看到fluentWait,它应该是这样的:。你为什么不试着去掉那些Javascript代码,看看fluentWait能否正常工作?我对Selenium 2.42和Firefox 28也有同样的问题。Firefox状态栏将永远显示“从XXX传输数据…”,并且永远不会将控制权返回给Selenium。在控制台中,document.readyState仍然停留在“加载”状态。我遇到了类似的问题,并通过更改等待方法解决了它。但是在我的例子中,同样的java脚本wait已经在太多的地方被使用,所以替换它对我来说是一个很大的风险。所以我只在代码实际挂起的地方更改了java脚本等待方法。
webDriver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
webDriver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);