//标题是不是“百度一下,你就知道”
18 new WebDriverWait(driver,5).until(ExpectedConditions.titleIs("百度一下,你就知道"));
19 //标题是不是包含“百度一下”
20 new WebDriverWait(driver,5).until(ExpectedConditions.titleContains("百度一下"));
21 //判断该元素是否被加载在DOM中,并不代表该元素一定可见
22 new WebDriverWait(driver,5).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='kw']")));
23 //判断元素(定位后)是否可见
24 new WebDriverWait(driver,5).until(ExpectedConditions.visibilityOf(driver.findElement(By.xpath("//*[@id='kw']"))));
25 //判断元素是否可见(非隐藏,并且元素的宽和高都不等以0)
26 new WebDriverWait(driver,5).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='kw']")));
27 //只要存在一个就是true
28 ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//*[@id='kw']"));
29 //元素中的text是否包含参数中的的字符串(元素要存在,否则会抛NoSuch异常)
30 ExpectedConditions.textToBePresentInElementLocated(By.xpath("//*[@id='kw']"), "百度一下");
31 //元素的value属性中是否包含参数中的字符串
32 ExpectedConditions.textToBePresentInElementValue(By.xpath("//*[@id='kw']"), "***");
33 //判断该表单是否可以切过去,可以就切过去并返回true,否则放回false
34 ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("**"));
35 //判断某个元素是否不存在于DOM或不可见
36 ExpectedConditions.invisibilityOfElementLocated(By.xpath("//*[@id='kw']"));
37 //判断元素是否可以点击
38 ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='kw']"));
39 //等到一个元素从DOM中移除
40 ExpectedConditions.stalenessOf(driver.findElement(By.xpath("//*[@id='kw']")));
41 //判断某个元素是否被选中,一般用在下拉列表
42 ExpectedConditions.elementToBeSelected(By.xpath("//*[@id='kw']"));
43 //判断某个元素的选中状态是否符合预期
44 ExpectedConditions.elementSelectionStateToBe(By.xpath("//*[@id='kw']"), true);
45 //判断某个元素(已定位)的选中状态是否符合预期
46 ExpectedConditions.elementSelectionStateToBe(driver.findElement(By.xpath("//*[@id='kw']")), false);
47 //判断页面中是否存在alert
48 new WebDriverWait(driver,5).until(ExpectedConditions.alertIsPresent());

selenium(Java)WebDriverWait等待机制的更多相关文章

  1. Selenium+Java显示等待和隐式等待

    描述:用来操作界面上的等待时间,显示等待是等待某一条件满足,条件满足后进行后面的操作:隐式等待是给出一个等待时间,在时间到达之前若满足条件,则立即执行后续操作. public class TestSe ...

  2. selenium WebDriverWait类等待机制的实现

    在自动化测试脚本的运行过程中,可以通过设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三种: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法 ...

  3. Python+Selenium笔记(十):元素等待机制

     (一) 前言 突然的资源受限或网络延迟,可能导致找不到目标元素,这时测试报告会显示测试失败.这时需要一种延时机制,来使脚本的运行速度与程序的响应速度相匹配,WebDriver为这种情况提供了隐式等待 ...

  4. selenium等待机制

    等待机制 ​ 因为你要查找的标签由于网速等原因迟迟没有加载出来,你就直接获取这个标签,很明显是报错,现有的简单粗暴的解决办法就是time.sleep(3),睡几秒,也就是设置线程等待,等这个标签加载出 ...

  5. Selenium+Java(六)Selenium 强制等待、显式等待、隐实等待

    前言 在实际测试过程中,由于网速或性能方面的原因,打开相应的网页后或在网页上做了相应的操作,网页上的元素可能不会马上加载出来,这个时候需要在定位元素前等待一下,等元素加载出来后再进行定位,根据实际使用 ...

  6. WebDriver元素等待机制

    能否构建健壮和可靠的测试是UI自动化测试能否成功的关键因素之一.但实际情况是当一个测试接着一个测试执行的时候,常会遇到各种不同的状况.比如脚本去定位元素或去验证程序的运行状态时,有时会发现找不到元素, ...

  7. selenium+java破解极验滑动验证码的示例代码

    转自: https://www.jianshu.com/p/1466f1ba3275 selenium+java破解极验滑动验证码 卧颜沉默 关注 2017.08.15 20:07* 字数 3085  ...

  8. 【亲测显式等待】Selenium:元素等待的4种方法

    Selenium:元素等待的4种方法 1.使用Thread.sleep(),这是最笨的方法,但有时候也能用到而且很实用.   2.隐式等待,隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉We ...

  9. maven+selenium+java+testng+jenkins自动化测试

    最近在公司搭建了一套基于maven+selenium+java+testng+jenkins的自动化测试框架,免得以后重写记录下 工程目录 pom.xml <project xmlns=&quo ...

随机推荐

  1. 关于webstorm打开项目,文件下方出现了一个小锁的图标,修改文件出现“cannot modify a ready-only directory”的弹窗提示

    今天用webstorm打开项目,文件下方出现了一个小锁的图标,修改文件出现“cannot modify a ready-only directory”的弹窗提示 解决办法:运行 sudo chown ...

  2. web项目继承ServletContainerInitializer进行访问HttpServlet(WebServlet)

    java使用web项目不需要加web.xml 配置javax.servlet.ServletContainerInitializer 1.在src目录创建META-INF,META-INF目录下创建s ...

  3. 【luogu P4017 最大食物链计数】 题解

    题目链接:https://www.luogu.org/problemnew/show/P4017 DAG + DP #include <queue> #include <cstdio ...

  4. 【转】优秀的Java程序员必须了解GC的工作原理

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...

  5. HttpClient请求地址并携带参数

    废话不多,直接上代码! /** * * @param httpUrl * @param reqInfo * @return */ public static StringBuffer sendPost ...

  6. NDK-C++ support

    1.NDK相关各种可用的C++运行库Android平台自带微型C++运行库(system),NDK提供补充功能的C++运行库(gabi++, stlport, gnustl)运行库 异常支持 RTTI ...

  7. mysql alter 增加修改表结构及约束

    1) 加索引,添加时若未指定索引名,默认为字段名   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> alt ...

  8. (七)json序列化

    在spring boot项目中已经包含有json序列化的框架,具体在包com.fasterxml.jackson.annotation中,建议看看详细源码. 但在项目应用上还是会有一些坑会出现的,举个 ...

  9. Hadoop-Hive学习笔记(1)

    1. Hive什么 a.Hive是基于Hadoop的一个数据仓库工具(注意不是数据仓库),将结构化的数据文件映射成一张数据库表. b.Hive是SQL的解析引擎,可以把sql语句转换成MapReduc ...

  10. Linux及FL2440使用过程遇到的各种问题和小技巧

    原文链接:http://www.cnblogs.com/NickQ/p/8900474.html ## Linux及FL2440使用过程遇到的各种问题和小技巧 关于移植linux根文件系统中的问题 在 ...