方式1:

线程等待:Thread.sleep(xxxx)

只要在case中加入sleep就会强制等待设置的时间后才会执行之后的命令,这种等待一般适用于调试脚本的时候。

java代码

//等待3秒

Thread.sleep(3000);//完全退出浏览器

driver.quit();

方式2:

隐试等待:driver.manage().timeouts().implicitlyWait(xx, TimeUnit.SECONDS)

隐式等待,是设置的全局等待。设置等待时间,是对页面中的所有元素设置加载时间,如果元素不是马上就能定位成功就会在固定等待时长内不停去搜索元素,在设置时间内发现元素则执行后面操作,如果超出了设置的时间还没发现元素则抛出异常。隐式等待可以理解成在规定的时间范围内,浏览器在不停的刷新页面,直到找到相关元素或者时间结束。

java代码

System.setProperty("webdriver.chrome.driver", "E:\\chromedriver.exe");

driver=newChromeDriver();//隐试等待 10秒

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

方式3:

显示等待: new WebDriverWait(driver, xx).until(ExpectedConditions.presenceOfElementLocated(By))

显示等待是等待指定元素设置的等待时间,在设置时间内,默认每隔0.5s检测一次当前的页面这个元素是否存在,如果在规定的时间内找到了元素则执行相关操作,如果超过设置时间检测不到则抛出异常。默认抛出异常为:NoSuchElementException。做自动化的时候推荐使用显示等待

java代码

driver.get("http://www.baidu.com");//声明一个Action对象

Actions action=newActions(driver);//鼠标移动到 更多产品 上

action.moveToElement(driver.findElement(By.xpath("//a[text()='更多产品']"))).perform();//显示等待时间10s 等 全部产品>> 出现

WebDriverWait w=new WebDriverWait(driver,10);

w.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//a[text()='全部产品>>']")));//等待的元素出现后点击 音乐

WebElement cp=driver.findElement(By.xpath("//a[text()='音乐']"));

cp.click();//断言音乐页面的Title值为 千千音乐-听见世界

Assert.assertEquals("千千音乐-听见世界",driver.getTitle());

java等待3秒_java-selenium三种等待方式相关推荐

  1. java源代码实例倒计时_Java倒计时三种实现方式代码实例

    写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...

  2. java倒计时_Java倒计时三种实现方式代码实例

    写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...

  3. python的等待代码是什么_Python selenium 三种等待方式详解

    1.目的背景 解决问题:下拉框定位不到.弹框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待. 原因:代码运行速度快,而浏览器加载渲染速度慢 解决办法:加等待,目 ...

  4. java jndi tomcat_tomcat下jndi的三种配置方式

    Java命名和目录接口(the Java naming and directory interface,JNDI)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得读 ...

  5. python三种等待方式_Python selenium 三种等待方式详解

    本文摘自:http://blog.csdn.net/huilan_same/article/details/52544521 发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很 ...

  6. python selenium 三种等待方式详解

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 正文: 1.强制等待 ...

  7. python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 注:当使用该放发的时 ...

  8. java random产生随机数_java的三种随机数生成方式,必掌握

    随机数的产生在一些代码中很常用,也是我们必须要掌握的.而java中产生随机数的方法主要有三种: 第一种:new Random() 第二种:Math.random() 第三种:currentTimeMi ...

  9. java 遍历list 性能_java list三种遍历方法性能比較

    从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便測试各种遍历方法的性能,測试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象 ...

  10. java线程初始方法三种_Java 多线程 三种实现方式

    Java多线程实现方式主要有三种:继承Thread类.实现Runnable接 口.使用ExecutorService.Callable 实现有返回结果的多线程.其中前两种方式线程执行完后都没有返回值, ...

最新文章

  1. 智源青年科学家黄高:面向高效推理的深度网络结构设计
  2. 超越ResNet:南开提出Res2Net,不增计算负载,性能全面升级!
  3. qchart画完以后删除_画错了,重新画一幅吧!”这句话对学画画的孩子来说,伤害有多大?...
  4. Flask入门之Virtualvenv的安装及使用(windows)
  5. 事件标志组解决任务间资源共享问题
  6. Android通用流行框架汇总
  7. swift 第四课 随意 设置button 图片和文字 位置
  8. java搭建线程池框架,JAVA线程池管理及分布式HADOOP调度框架搭建
  9. ef 批量保存 oracle,mybatis-oracle与mysql批量添加
  10. 服务器 重启windows_安装Windows 计算机意外
  11. 2678v3支持内存频率_电脑内存条用来干什么呢,怎么看参数?
  12. 解决 vim 中文编码问题
  13. 浅析HEVC/H.265编码器中的熵编码
  14. oracle元转换为万元,Excel表格中快速实现元转换成以万元显示的方法
  15. 怎么批量给多个 PPT 添加自定义的水印?
  16. 基于@Aspect实现AOP的两种方式
  17. distinct效率更高还是group by效率更高?
  18. python six 用途_python之six用法
  19. Android App性能优化总结
  20. 【JS】iframe 嵌入页面用法

热门文章

  1. Android 圆圈进度
  2. 【 Linux 】进程间通信之信号量
  3. 黑域免root管理自启
  4. 分布式系统平台-Azure Service Fabric
  5. 4-ANASY-约束和载荷详解-Enviroment-工具栏
  6. 张量网络算法基础(三、格点模型)
  7. Python的tushare库实现沪深300 指数数据分析——CAMP模型
  8. Html5版全套股票行情图开源了
  9. Android获取设备信息(二)
  10. 程序员年终总结报告 年终工作总结(范文)