爲了提升腳本的穩定性,咱們須要在腳本中增長等待時間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秒事後還沒出現就跳出