博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebDriver自定义显示等待条件
阅读量:2200 次
发布时间:2019-05-03

本文共 1157 字,大约阅读时间需要 3 分钟。

资源推荐:

视频资源: 

社区资源: 

方法一:结合使用WebDriverWait,ExpectedConditions完成,注意,经过我反复测试才发现,这个方法目的是检查某个元素的innerText是否在指定时间范围内出现,我通过修改locator为不存在的情况下,同样会等待30s

    WebDriverWait wait = new WebDriverWait(driver,5);//设置等待时间为5s,5s后如还没有出现则抛出异常

    if(wait.until(
    ExpectedConditions.textToBePresentInElement(
    By.cssSelector("a[mon='ct=1&a=1&c=top&pn=0']"), "hello" //hello为此元素的innerText
    )
    )){
    driver.findElement(By.linkText("总政治部副主任吴昌德等6人晋升上将")).click();

}

方法二:结合使用WebDriverWait,ExpectedConditions完成自定义的预期条件,此方法可以定义等待指定元素的超时时间,此方法比较灵活,可以自己定义出自己任何预期的等待条件,以下是我测试过的两个小case

case1:

WebDriverWait wait = new WebDriverWait(driver,5);

    WebElement element = wait.until(new ExpectedCondition<WebElement>(){
@Override //覆写apply方法
public WebElement apply(WebDriver driver) {
WebElement element = driver.findElement(By.linkText("总政治部副主任吴昌德等6人晋升上将将"));
return element;
}
   
    });
    element.click();

 

case2:

WebDriverWait wait = new WebDriverWait(driver,5);

    boolean flag  = wait.until(new ExpectedCondition<Boolean>(){
@Override
public Boolean apply(WebDriver driver) {
Boolean flag = driver.findElement(By.id("userName")).getAttribute("readonly").contains("true");
return flag;
}
    
    });
    element.sendkeys("username");

 

转载地址:http://ljrub.baihongyu.com/

你可能感兴趣的文章
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>