码迷,mamicode.com
首页 > 其他好文 > 详细

selenium等待的几种方式

时间:2015-08-26 17:38:01      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

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);

在项目中,感觉第三种方式作用不大,用的最多的就是第一种和第二种,推荐用第二种,智能等待

selenium等待的几种方式

标签:

原文地址:http://www.cnblogs.com/qiaoyeye/p/4760571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!