我正在使用 Selenium 网络驱动程序。我有以下方法可以导航到页面。
public String navigate(String url){
driver = new FirefoxDriver();
driver.get(url);
return "Success";
}
如果服务器正常运行,上面的代码可以正常工作。有时服务器可能会关闭,然后页面将无法加载。现在,如果页面未加载,如何返回“failure”字符串?
谢谢!
最佳答案
您无法直接测试 get()
是否失败,因为导航器始终显示页面。您可以检查该页面是否为已知错误页面,或者检查您是否不在预期页面中。
第一个解决方案
这取决于导航器。 Chrome 找不到 url 时会显示一个特殊页面,firefox 会显示另一个页面等。您可以测试这些页面的标题。例如,Firefox 错误页面标题类似于“页面加载错误”或“加载页面时出现问题”。那么你所要做的就是:
if(driver.getTitle().equals("Problem loading page"))
return "failure";
第二种解决方案
您必须检查网站每个页面中是否存在某个元素(例如 Logo 或主页按钮)。假设这个元素的 ID 是“foo”,你可以这样做:
if(driver().findElements(By.id("foo")).isEmpty())
return "failure";
关于java - Selenium 查找页面是否已加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608037/