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