有人知道如何使用Selenium WebDriver读取FireFox浏览器状态栏文本吗?我想知道是否完全加载了整个网页。
如果有其他方法,请给我建议。是否可以调用任何JavaScript(将从我的Java程序返回Firefox状态栏文本)?
另外,我如何验证在网页上查找的webelement是否存在?
谢谢!
有人知道如何使用Selenium WebDriver读取FireFox浏览器状态栏文本吗?我想知道是否完全加载了整个网页。
如果有其他方法,请给我建议。是否可以调用任何JavaScript(将从我的Java程序返回Firefox状态栏文本)?
另外,我如何验证在网页上查找的webelement是否存在?
谢谢!
我认为使用WebDriver无法读取FireFox状态栏。
当你执行webdriver.get()
时,它会等待“onload”事件触发后再将控制返回给你的测试或脚本。然而,如果你的页面使用大量AJAX来加载页面内容,并且“onload”事件在浏览器中仍在显示内容时触发,那么这可能还不够好。
如果你需要确保这样的页面完全加载,则解决方案是使用“等待”。
你可以等待特定的元素:
Wait<WebDriver> wait = new WebDriverWait(driver, 10);
wait.until(visibilityOfElementLocated(By.id("target")));
查看:http://seleniumexamples.com/blog/examples/selenium-2-examples/
或者尝试等待Ajax完成任何挂起的请求:
查看:http://blog.activelylazy.co.uk/2010/05/05/testing-asynchronous-applications-with-webdriver/
findElement
将等待目标元素出现并可见。 - Dave Huntwhile循环
-while(driver.findElements(By.linkText("Google Home")) == null && driver.findElements(By.linkText("About Google")) == null && driver.findElements(By.linkText("Advertising Programs")) == null) { driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS); }
- Paresh