在 webdriver 中,打开页面时
Webdriver.get("www.yahoo.com");
如果我想点击的元素立即出现,我必须等到页面加载完成。
有没有解决这个问题的解决方案/建议?
提前致谢
在 webdriver 中,打开页面时
Webdriver.get("www.yahoo.com");
如果我想点击的元素立即出现,我必须等到页面加载完成。
有没有解决这个问题的解决方案/建议?
提前致谢
在 WebDriver 中有三个隐式等待
隐式等待
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
页面加载超时
driver.manage().timeouts().pageLoadTimeout(30, SECONDS);
设置脚本超时
driver.manage().timeouts().setScriptTimeout(30,SECONDS);
您可以在上述方法中指定在抛出异常之前等待的时间。
有关更多信息,请参阅此链接
默认情况下,Web 驱动程序实例将等待页面加载完成。但是您可以使用更改timeout
持续时间
//Assume driver instance is initialized properly
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
如果页面加载超过给定的持续时间意味着它将抛出TimeOut Exception
欲了解更多信息。
试试 FluentWait,虽然这是用于处理 ajax 元素,但可能对您的情况有用。这是资源 - http://www.thoughtworks-studios.com/twist/2.3/help/how_do_i_handle_ajax_in_selenium2.html