[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 ...
随机推荐
- 我的PHP之旅--XML初步
什么是XML? XML是可拓展标记语言,它和XHTML很像.但它和XHTML的目的性不一样,XHTML负责展示数据,而XML负责保存或交换传输数据. 而且XML可拓展,它没有固定的标签.它的标签可以自 ...
- linux tail
tail 命令从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...
- MySQL中字符串函数详细介绍
MySQL字符串函数对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回N ...
- win8 优化笔记
win8可以关掉的服务: 以下是小编搜集的可以安全更改为手动启动的服务(按名称排序): Application Experience(启动时为程序处理应用程序兼容性缓存请求) ·Computer Br ...
- hdu 4662
将U全部转化为I 因为 I 的个数一定是2的n次方 有可能消除了一定数量的 2U 所以I的个数加上一个6的整数倍是2的n次方 #include <iostream> #includ ...
- oracle中int类型和number类型区别
INT类型是NUMBER类型的子类型.下面简要说明:(1)NUMBER(P,S)该数据类型用于定义数字类型的数据,其中P表示数字的总位数(最大字节个数),而S则表示小数点后面的位数.假设定义SAL列为 ...
- Flume学习——BasicTransactionSemantics
org.apache.flume.channel.BasicTransactionSemantics An implementation of basic Transaction semantics ...
- Extjs 4 chart自定义坐标轴刻度
Sencha出品的ExtJs是一个非常优秀的前端框架,尤其是具有里程碑意义的4.0的发布.4.0采用MVC架构和全新的class系统,并且提供了非常丰富的组件.但是,尽管ExtJS如此强大,仍有不尽人 ...
- 函数可重入问题reentrant functions(函数执行过程中可以被中断,允许多个副本)
最近经常听到这个名词,以前也听到过,不过接触更多的是“线程安全问题”,而且本人也一直理解的是两个名字的含义是一样的.今天仔细总结一下这个名词相关的概念. 引用博文:可重入函数和不可重入函数 (http ...
- 一个简单的Android小实例
原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台 3.安装J ...