方式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=new ChromeDriver();
//隐试等待 10秒
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

方式3:

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

显示等待是等待指定元素设置的等待时间,在设置时间内,默认每隔0.5s检测一次当前的页面这个元素是否存在,如果在规定的时间内找到了元素则执行相关操作,如果超过设置时间检测不到则抛出异常。默认抛出异常为:NoSuchElementException。做自动化的时候推荐使用显示等待
java代码
WebElement wt=driver.findElement(By.xpath("//*[@class='wait']"));
wt.click();
//显示等待指定元素10秒
WebDriverWait wait=new WebDriverWait(driver,10);
wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//*[@id='dp']/div")));
//定位元素
WebElement ds=driver.findElement(By.xpath("//*[@id='dp']/div"));
//获取文本内容
String text=ds.getText();
//校验文本内容
Assert.assertEquals(text,"延迟显示wait");

  转自:https://www.cnblogs.com/puhongjun/p/10304096.html

【转】java-selenium三种等待方式的更多相关文章

  1. python selenium 三种等待方式详解[转]

    python selenium 三种等待方式详解   引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待 ...

  2. 深入selenium三种等待方式使用

    深入selenium三种等待方式使用 处理由于网络延迟造成没法找到网页元素 方法一 用time模块不推荐使用 用time模块中的time.sleep来完成等待 from selenium import ...

  3. Python selenium 三种等待方式详解

    1. 强制等待第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间.看代码: # -*- coding: ...

  4. Python selenium 三种等待方式详解(必会)

    很多人在群里问,这个下拉框定位不到.那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待.殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么 ...

  5. Python selenium 三种等待方式解读

    1. 强制等待第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间.看代码: # -*- coding: ...

  6. Python+Selenium - 三种等待方式

    元素:存在 > 可见 > 可用 需要判断元素状态 等待方式1:强制等待  -- 辅助 设置等待几秒,就必须等待几秒 示例: from time import sleepsleep(3) 强 ...

  7. Selenium 三种等待方式详解

    我们在做WEB自动化时,一般要等待页面元素加载完成后,才能执行操作,否则会报找不到元素的错误,这样就要求我们在有些场景下加等待时间. 我们平常用到的有三种等待方式: 强制等待 隐式等待 显示等待 一. ...

  8. 关于selenium中的三种等待方式与EC模块的知识

    1. 强制等待 第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间. 看代码: 1 2 3 4 5 6 ...

  9. Selenium三种等待的使用方式

    在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错.这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待, ...

  10. Selenium学习之==>三种等待方式

    在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错.这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待, ...

随机推荐

  1. seq 命令用法

    以指定增量从首数开始打印数字到尾数. 用法: seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 选项: -f, --format=格式 ...

  2. [矩阵乘法]斐波那契数列IV

    [ 矩 阵 乘 法 ] 裴 波 拉 契 数 列 I V [矩阵乘法]裴波拉契数列IV [矩阵乘法]裴波拉契数列IV Description 求数列f[n]=f[n-2]+f[n-1]+n+1的第N项, ...

  3. [Fundamental of Power Electronics]-PART II-7.交流等效电路建模-7.1 引言

    7.1 引言 变换器系统总是需要反馈的.例如,在典型的DC-DC变换器应用中,无论输入电压\(V_{g}(t)\)和输出有效负载\(R\)如何变化,都必须使输出电压\(v(t)\)保持恒定.这是通过构 ...

  4. python基础(四):切片和索引

    Python中的序列有元组.列表和字符串,因此我们都可以通过索引和切片的方式,来获取其中的元素. 索引 Python中的索引,对于正向索引,都是从0开始的.但是对于反向索引,确实从-1开始的.如图所示 ...

  5. BUAA_OS lab3 难点梳理

    BUAA_OS lab3 难点梳理 实验难点 进程创建 对于初始化部分,首先需要在pmap.c中修改mips_vm_init()函数,为envs开空间,并map到UENVS空间. 其次,模仿page_ ...

  6. 基于注解的springboot+mybatis的多数据源组件的实现

    通常业务开发中,我们会使用到多个数据源,比如,部分数据存在mysql实例中,部分数据是在oracle数据库中,那这时候,项目基于springboot和mybatis,其实只需要配置两个数据源即可,只需 ...

  7. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像上传-11

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像上传-11 欢迎加QQ群:1026880196 进行交流学习 镜像上传 #controller1 ...

  8. Go-08-函数与指针

    Go语言的函数本身可以作为值进行传递,既支持匿名函数和闭包,又能满足接口. 函数声明 func 函数名 (参数列表)(返回参数列表){ // 函数体 } func funcName(parameter ...

  9. Mybatis3源码笔记(七)Plugin

    1.Mybatis3的插件其实主要是用到了责任链和动态代理两种模式相结合而生成的.下面我们看一个例子,在执行所有update操作时,执行一个小小的测试输出. @Intercepts({@Signatu ...

  10. Tree UVA - 548

      You are to determine the value of the leaf node in a given binary tree that is the terminal node o ...