1

在 webdriver 中,打开页面时

Webdriver.get("www.yahoo.com");

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

有没有解决这个问题的解决方案/建议?

提前致谢

4

3 回答 3

1

在 WebDriver 中有三个隐式等待

  1. 隐式等待

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

  2. 页面加载超时

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

  3. 设置脚本超时

    driver.manage().timeouts().setScriptTimeout(30,SECONDS);

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

有关更多信息,请参阅此链接

于 2013-02-01T12:51:20.210 回答
0

默认情况下,Web 驱动程序实例将等待页面加载完成。但是您可以使用更改timeout持续时间

  //Assume driver instance is initialized properly
  driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);

如果页面加载超过给定的持续时间意味着它将抛出TimeOut Exception

欲了解更多信息

于 2013-02-01T12:03:09.617 回答
0

试试 FluentWait,虽然这是用于处理 ajax 元素,但可能对您的情况有用。这是资源 - http://www.thoughtworks-studios.com/twist/2.3/help/how_do_i_handle_ajax_in_selenium2.html

于 2013-02-04T04:22:28.083 回答