[selenium webdriver Java]显示的等待同步
显示等待可以在执行下一次操作时,自定义等待条件
显示的等待只需要执行在需要同步的地方而不影响脚本的其他地方
Selenium WebDriver提供了WebDriverWait和ExpectedCondition类来执行显示等待
ExpectedCondition类提供了一系列预定义好的条件来等待。下面是一些常用的条件
| 预定义条件 | 方法名 | 
| 元素可见可点击 | elementToBeClickable(By locator) | 
| 元素可被选中 | elementToBeSelected(WebElement element) | 
| 存在一个元素 | presenceOfElementLocated(By locator) | 
| 元素中出现指定的文本 | textToBePresentInElement(By locator) | 
| 元素的值 | textToBePresentInElementValue(By locator, String text) | 
| 标题 | titleContains(String title) | 
WebDriverWait每500毫秒调用一次ExpectedCondition直到得到正确的返回值。这样的好处是随时控制所需呀等待的地方,更加精确的控制等待条件
 public void testWithImplicitWait(){
     System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
     WebDriver driver = new ChromeDriver();
     driver.get("http://map.baidu.com");
         WebElement curCity = driver.findElement(By.id("curCity"));
     curCity.click();
     //设置等待时间10秒
     WebDriverWait wait = new WebDriverWait(driver,10);
     //等待直到符合元素文本内容出现
     wait.until(ExpectedConditions.textToBePresentInElement(By.id("selCityHotCityId"), "全国"));
         driver.quit();
 }
示例代码

[selenium webdriver Java]显示的等待同步的更多相关文章
- Selenium Webdriver java 积累一
		Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ... 
- [selenium webdriver Java]常用api
		1. 获取元素文本 WebElement类的getText()方法返回元素的innerText属性.所以元素里如果有子节点一样也会被返回出来.如下所示 public class GetText { @ ... 
- [selenium webdriver Java]隐式的等待同步
		Selenium WebDriver提供了隐式等待来同步测试.当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常 即,当元素没 ... 
- Selenium webdriver Java 高级应用
		对于这一段还蛮有感慨的,只想说,代码还是需要自己去敲的. 1. 改变用户代理 import org.junit.AfterClass; import org.junit.BeforeClass; im ... 
- [selenium webdriver Java]使用自定义条件同步测试
		Selenium WebDriver可以结合ExpectedCondition类来定义自己期望的条件 创建一个新的ExpectedCondition接口,必须实现apply方法 等待元素出现 publ ... 
- Java 学习笔记 (二) Selenium WebDriver Java 弹出框
		下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍 ... 
- [selenium webdriver Java]元素定位——findElement/findElements
		策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver ... 
- [selenium webdriver Java]处理弹出窗口
		Selenium WebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口. 通过名称(name)识别和处理: Selenium ... 
- Selenium WebDriver java 简单实例
		开发环境 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse: 下载地址:http ... 
随机推荐
- 在cmd命令行下登录本地oracle数据库与服务器上的oracle
			一.本地登录 cmd->sqlplus 用户名/密码@数据库名 (as sysdba)->enter注:如果此用户名不是系统用户sys,scott,system就不需要加as sysdba ... 
- js获取当前浏览器页面高度及宽度信息的方法
			var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft); var scroll ... 
- Linux find example
			find | xargs echo >> x1 find -exec echo {} \; >> x2 1.查找/var目录下属主为root并且属组为mail的所有文件:fin ... 
- 为什么样本方差(sample variance)的分母是 n-1?
			为什么样本方差(sample variance)的分母是 n-1? (補充一句哦,題主問的方差 estimator 通常用 moments 方法估計.如果用的是 ML 方法,請不要多想不是你們想的那樣 ... 
- ural 1066 uva 1555
			好吧 竟然因为编译器的问题不过 到底有什么区别 ???? 可以推出公式Hi = (i-1)H2 +(i-1)(i-2)-(i-2)*H1 因为所有的Hi都要大于零 Hn要最小 即存在Hi=0 ... 
- "Principles of Reactive Programming" 之<Actors are Distributed> (3)
			Cluster 讲课的这哥们接下来讲了下Akka Cluster的使用,但是是通过把一个以前讲过的actor 系统改成使用cluster来介绍的Akka cluster. 这部分代码很多,还是直接看视 ... 
- 看几道JQuery试题后总结(下篇)
			感谢圆友的提醒 昨天下午完成了9道试题中的前4道,之后好多园友存在些疑惑和建议,在这里我一并说一下吧.首先对于昨天第一题可能存在误导,在JQuery中并没有innerHTML这个属性,不过我们可以将J ... 
- Unity3D开发(一):NGUI之UIRoot屏幕分辨率自适应
			原地址:http://blog.csdn.net/onerain88/article/details/11713299 NGUI在Unity3D游戏开发中非常常用,而NGUI对于每一个UI场景,都是以 ... 
- JAVA面试题:69道Spring面试题和答案
			目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ... 
- HDU4714+三分
			题意:给定N个点,每个点有初始位置和初始速度. 问:在哪个时刻 使得所有的点的最大距离值最小. 分析:一开始枚举两两之间的最大值,然后在最大值中求一个最小值...(WA:题意严重理解不清..) 由两点 ... 
