selenium使用等待的几种方式

摘要:
1.使用java的sleep{Thread.sleep(3000);}catch(InterruptedException){//TODOAuto-generatedcatchblock.printStackTrace();}2.使用selenium的WebDriverWait显示等待publicvoid f1(){dr.get(“http://www.baidu.com“);WebDr

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使用等待的几种方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java 获取两个日期相差的毫秒数用python实现不同格式99乘法表输出下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Selenium 3 + BrowserMobProxy 2.1.4 模拟浏览器访问 (含趟坑)

背景 Selenium 是一个Web自动化测试的组件,可基于WebDriver去控制弹出浏览器去做一系列Web点击或行为测试(当然也可以去做一些邪恶的事。。),减少重复人工网页测试的开销。BrowserMobProxy相当于一层代理,它配合Selenium使用可以在Selenium控制浏览器访问之前在代理层拦截做出一些记录(har)、修改等。 一般来说,直...

selenium 基础(一)

selenium安装 pip install selenium selenium操作浏览器原理 早期selenium 1.0 用的selenium RC, 后来selenum2集合了selenium1.0 + webdriver,selenium RC被webdriver替换。通过webdriver,测试脚本(例如python)可以方便的通过API操作浏览...

Selenium Webdirver API(1)

Selenium Webdirver API 前提:引入webdriver包 from selenium import webdriver 1、创建浏览器对象driver = webdriver.Ie(executable_path="D:\IEDriverServer")#不同浏览器只需更改浏览器名称即可,如:webdriver.Chrome() web...

未分类[selenium]-元素定位不到的原因及解决办法

摘自-宋现锋《测试开发工程师丛书》,如有版权问题请及时联系本人,谢谢. 在我们编写自动化测试用例的过程中,经常会遇到元素定位不到的现象,有的时候我们用 Selenium IDE 检查的时候也能在 Firebug 中看到,可是运行代码的时候,总是提示元素找不到。经过我以往和经验和大家在网上的讨论,我总结了以下几种情况: (1) 定位属性值是动态变化的情况 现...

极验验证码破解之selenium

这一篇写完很久了,因为识别率一直很低,没办法拿出来见大家,所以一直隐藏着,今天终于可以拿出来见见阳光了。 哈喽,大家好,我是星星在线,我又来了,今天给大家带来的是极验验证码的selenium破解之法,是不是有点小激动呢,小伙伴们等不了了,让我们赶紧直入主题吧。 虎嗅网注册 这次我们是拿虎嗅开刀,注册账号的时候需要滑动图片到缺口位置,这种验证码我们现在也经常...

selenium常用命令之操作页面元素及获取元素内容的事件整理

 /**id <input type="text" id="phone" name="phone" class="LoginText" placeholder="手机号" >          * <button class="LoginBtn" id="btnLogin" value="baidu"> 登录</button&...