Webdriver:如何覆盖get()方法?

时间:2013-02-01 11:21:39

标签: webdriver selenium-webdriver

在webdriver中,打开页面时

Webdriver.get( “www.yahoo.com”);

如果我想要点击的元素立即出现,不必要地我必须等到页面加载完成。

是否有任何解决方案/建议可以解决这个问题?

先谢谢

3 个答案:

答案 0 :(得分:1)

在WebDriver中有三个隐式等待

  1. implicitlyWait

    driver.manage()。timeouts()。implicitlyWait(30,TimeUnit.SECONDS);

  2. pageLoadTimeout

    driver.manage()。timeouts()。pageLoadTimeout(30,SECONDS);

  3. setScriptTimeout

    driver.manage()超时()setScriptTimeout(30秒);

  4. 您可以指定上述方法在抛出异常之前等待的时间。

    有关详细信息,请参阅此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