有谁知道如何使用 Selenium WebDriver 读取 FireFox 浏览器状态栏文本?我想要它是因为我想知道我的整个网页是否已完全加载。
如果有其他方法,请建议我。调用任何 JavaScript(将从我的 Java 程序返回 Firefox 状态栏文本)?
另外,如何验证我在网页上查看的网络元素是否存在?
谢谢!
最佳答案
我认为没有办法使用 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/
关于javascript - 如何在 Selenium WebDriver 中读取浏览器状态栏文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5376756/