为了提升脚本的稳定性,咱们须要在脚本中增长等待时间css
第一种:强制等待app
Thread.sleep():固定休眠时间设置,Java的Thread类里提供了休眠方法sleep,导入包后就能使用ide
sleep()方法以毫秒为单位 对象
Thread.sleep(3000);ci
----执行到此时无论什么就固定的等待三秒以后再接着执行后面的操做it
第二种:隐式等待方法io
implicitlyWait()方法比sleep()方法智能,sleep()方法只能在一个固定的时间等待,而implicitlyWait()能够在一个时间范围内等待,称为隐式等待方法
隐式等待采用所有设置,也就是说,你全部的findElement方法都会隐式等待10sim
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);apply
----此方法针对执行脚本的全部对象,等待10秒
第三种:显示等待方法
WebDriverWait()
就是明确的要等到某个元素的出现或者是某个元素的可点击等条件,等不到,就一直等,除非在规定的时间以内都没找到,那么就跳出Exception
一、每500毫秒扫描界面是否出现元素
二、针对单一元素
三、能够设置超时时间
WebDriverWait wait=new WebDriverWait(driver, 10);
WebElement wl = wait.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.cssSelector(".red_box"));
}
});
----在规定时间内等待 在10秒的范围内 出现.red_box元素就往下执行,若是10秒事后还没出现就跳出