WebDriver 在操作页面元素等待时间时,提供2种等待方式:一个为显式等待,一个为隐式等待,其区别在于:

1)显式等待:明确地告诉 WebDriver 按照特定的条件进行等待,条件未达到就一直等待。这在等待某个元素需要非常长的时间时非常有效

示例: 

import org.openqa.selenium.support.ui.WebDriverWait;

import org.openqa.selenium.support.ui.ExpectedCondition;

//等待条件未:直到浏览器的标题以selenium 为开头出现才进行后续操作

(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>(){

  public Boolean apply(WebDriver d){

    return d.getTitle().toLowerCase().startsWith("selenium");

  }

})

2)隐式等待:告诉 WebDriver 一个最大的超时时间,如果等待的条件在超时以前就满足,则立即执行后续操作而无须等待超时达到。

示例:

import java.util.concurrent.TimeUnit;

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

 

相关文章:

  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-30
  • 2021-08-13
  • 2021-04-17
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案