等待页面的加载分为两种形式,隐式和显式
  1. 隐式
1 // 定位页面元素时,多等待10s(相当于全局设置)
2    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
  2. 显式
1                 //等待WebElement,多等待60s
2                 WebDriverWait wait = new WebDriverWait(driver, 60) ;
3                 wait.until(new ExpectedCondition<WebElement>() {    //等待WebElement元素出现
5                     @Override
6                     public WebElement apply(WebDriver d) {
7
8                         return d.findElement(By.id("userName"));
9
10                     }
11
12                 });
  备注:
  1.  unitl会在以下几种情况退出等待:
  ExpectedCondition的返回值不是空
  ExpectedCondition抛出了不可忽略的异常(除NotFoundException以外)
  ExpectedCondition的时间已经达到了60s
  系统所在的线程被中断
  建议:
  1. 测试时,都进行隐式的设置,在需要时间比较长的地方进行显式设置