Selenium_等待页面加载完毕
隐式等待
WebDriver driver = new FirefoxDriver();driver.get("www.baidu.com"); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);WebElement element = driver.findElement(By.cssSelector(".abc")); ((JavascriptExecutor)driver).executeScript("arguments[0].style.border = \"5px solid yellow\"",element);
注:隐式等待设置的内容在driver的整个生命周期都有效,所以实际使用过程当中有弊端。
等待20秒元素还不存在,就会抛出异常 org.openqa.selenium.NoSuchElementException
显式等待
显式等待 使用ExpectedConditions类中自带方法, 可以进行显试等待的判断。
显式等待可以自定义等待的条件,用于更加复杂的页面等待条件
等待的条件 |
WebDriver方法 |
页面元素是否在页面上可用和可被单击 |
elementToBeClickable(By locator) |
页面元素处于被选中状态 |
elementToBeSelected(WebElement element) |
页面元素在页面中存在 |
presenceOfElementLocated(By locator) |
在页面元素中是否包含特定的文本 |
textToBePresentInElement(By locator) |
页面元素值 |
textToBePresentInElementValue(By locator, java.lang.String text) |
标题 (title) |
titleContains(java.lang.String title) |
只有满足显式等待的条件满足,测试代码才会继续向后执行后续的测试逻辑
如果超过设定的最大显式等待时间阈值, 这测试程序会抛出异常。
public static void testWait2(WebDriver driver){driver.get("www.baidu.com"); WebDriverWait wait = new WebDriverWait(driver, 20);wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".abc")));WebElement element = driver.findElement(By.cssSelector(".abc")); ((JavascriptExecutor)driver).executeScript("arguments[0].style.border = \"5px solid yellow\"",element); }
Selenium_等待页面加载完毕相关推荐
- loading页面加载(等待页面加载完毕再隐藏loading页面)
1.设计一个装载Loading页面的div 此处设置的height为100vh,vh单位表示浏览器的可视高度百分比,100vh表示浏览器高度的100%,如果是全屏Loading,则该div需要排在bo ...
- python selenium 等待页面加载完毕_Selenium_等待页面加载完毕
隐式等待 WebDriver driver = newFirefoxDriver(); driver.get("www.baidu.com"); driver.manage().t ...
- python如何校验页面元素是否加载完毕_爬虫(八十七)等待页面加载完成(Waits)...
现在的大多数的Web应用程序是使用Ajax技术.当一个页面被加载到浏览器时, 该页面内的元素可以在不同的时间点被加载.这使得定位元素变得困难, 如果元素不再页面之中,会抛出 ElementNotVis ...
- html加载状态,js等待页面加载完成
页面加载完成后等待一段时间在执行js的方法,时间例如方法: function test(){return 1;} 页面加载完毕事件: window.onload = function(){ setTi ...
- 页面加载完毕相关信息淡入效果
前言: 年关将至,公司一部分同事已经回老家了,虽然过年不回去,但想到明天上完班就放假了内心多少有点激动.工作上的事情不要紧的已经没心情再看了,加之今天领导不在 哈哈哈... 搞点自己的爱好! 看boo ...
- JS判断页面加载完毕
//JS判断页面加载完毕,再隐藏加载效果层,一个简单的JS加载效果.document.onreadystatechange = function () {if (document.readyState ...
- python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)
引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 注:当使用该放发的时 ...
- 页面加载完毕执行多个JS函数
通常我们需要在打开页面时加载脚本,这些脚本必须在页面加载完毕后才可以执行,因为这时候DOM才完整,可以利用window.onload确保这一点,如: window.οnlοad=firstFuncti ...
- java selenium (十三) 智能等待页面加载完成
我们经常会碰到用selenium操作页面上某个元素的时候, 需要等待页面加载完成后, 才能操作. 否则页面上的元素不存在,会抛出异常. 或者碰到AJAX异步加载,我们需要等待元素加载完成后, 才能操 ...
最新文章
- Android Studio vs Eclipse:你需要知道的那些事
- SCCM2012 RBA
- 【图像处理】直方图均衡化
- RDS PostgreSQL一键大版本升级技术解密
- 带旋treap概念及模板,带例题:普通平衡树
- 卷积神经网络语音识别_用于物体识别的3D卷积神经网络
- python invalid literal for int_求助!运行出现错误“ValueError: invalid literal for int() ··...
- Java类的加载过程,类加载器,双亲委派原则
- 安卓加密软件_教你用手机NFC模拟加密门禁卡
- MT8127_Android_scatter.txt 文件添加backup分区
- ov5640帧率配置_OV5640摄像头的数据处理配置流程(一)
- 证书无效打不开网站?如何修复Mac上的无效证书错误
- chrome浏览器更新后重新安装配置chromedriver
- AutoCAD选择对象后触发事件,加载和卸载
- ligerui demo php,LigerUI的简单使用示例
- pthon缺陷检测(机器视觉)
- 血战Maven,各种问题,Eclipse控制台乱码,Maven打包时Javadoc失败-UTF-8-BOM编码
- 【DSP】直接存储器访问(DMA)控制器——TMS320VC5509A(下篇)
- 计算机网络期末大题汇总
- MPSDK4J 是JAVA微信公平台开发SDK,没有复杂的功能,一切源于微信API,愿你会喜欢使用。-- 题记
热门文章
- C语言二叉搜索树返回key的树级(附完整源码)
- C语言flood fill 泛洪算法(附完整源码)
- QT的QLayer类的使用
- C++ Iterators(迭代器)
- Pandas及简单学习
- 11.JDK8内存模型、本地方法栈、虚拟机栈、栈帧结构(局部变量表、操作数栈、方法出口、虚拟机栈与本地方法栈的关系、寄存器、方法区、堆(Heap)、jvm中的常量池、Metaspace(元空间))
- Spark编程指引(四)----共享变量(广播变量和累加器)
- 1线程同步:互斥量,死锁
- lambada表达式
- 数据库元数据数据字典查询_11_列出数据库里含有自增的字段