selenium等待分为"明确等待"和"隐性等待"
明确等待:
WebDriverWait wait = new WebDriverWait(dr,10);
wait.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.className("red_box"));
}
});
隐性等待:
/设置10秒
dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
dr.findElement(By.id("b")).click();
WebElement element = dr.findElement(By.cssSelector(".red_box"));
System.out.println("获取.red_box的背景颜色属性值:"+element.getCssValue("background-color"));
//在红色区域外面加黄框
((JavascriptExecutor)dr).executeScript("arguments[0].style.border = \"5px solid yellow\"",element);
//dr.quit();
注:
隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉WebDriver查询Dom一定时间。默认值是0,但是设置之后,这个时间将在WebDriver对象实例整个生命周期都起作用