标签:
1.使用java的sleep
try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
2.使用selenium的WebDriverWait,显示等待
public void f1() { dr.get("http://www.baidu.com"); WebDriverWait wait = new WebDriverWait(dr,10); wait.until(new ExpectedCondition<WebElement>(){ @Override public WebElement apply(WebDriver arg0) { // TODO Auto-generated method stub return arg0.findElement(By.id("kw")); } }).sendKeys("test"); wait.until(new ExpectedCondition<Boolean>(){ @Override public Boolean apply(WebDriver arg0) { // TODO Auto-generated method stub return arg0.findElement(By.id("2")).isDisplayed(); } }); }
先构造方法,显示等待最多10秒,直到出现下面apply方法(重写)的元素,第一个重写的apply方法返回的元素对象,第二个重写的apply方法返回的Boolean,10秒内出现,则往下运行,10秒后仍不出现,则抛出异常
3.使用selenium的隐式等待,全局
dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
在项目中,感觉第三种方式作用不大,用的最多的就是第一种和第二种,推荐用第二种,智能等待
标签:
原文地址:http://www.cnblogs.com/qiaoyeye/p/4760571.html