selenium中几种常用的等待

提起selenium中的等待,最先浮入你脑海的会是什么呢?

  • time sleep?
  • 显式等待?
  • 隐式等待?
  • …………

1.time sleep()

可以称其为暂停等待,当设置为time.sleep(3)时意味着程序在等待3s后才会执行下一步查找下一位元素,比较适合没有大幅度跳转的页面,尽量少用,不推荐使用。

2.显式等待

用法为:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }

WebDriverWait(driver, timeout, poll_frequency=xxx)

  • timeout 超时时间,即等待上限值,单位为s
  • poll_frequency=0.5,休眠时间的间隔(步长)时间,也可以理解为轮询等待间隔,默认为 0.5 秒,这个参数可以不写,不写就是默认的,如WebDriverWait(driver, 10)意思为10秒内每隔0.5毫秒会扫描1次页面寻找元素,直到指定的元素出现,同时也支持自定义。

3.隐式等待

用法为:driver.implicitly_wait( )

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }

这个等待可以理解为全局等待,在定位元素时,对该页面的所有元素设置超时时间,超出了设置时间则抛出异常。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }

原文地址:https://www.cnblogs.com/test0/p/9893128.html

时间: 2024-11-04 11:55:48

selenium中几种常用的等待的相关文章

Java 中几种常用的线程池

Java 中几种常用的线程池 转载 : https://www.cnblogs.com/sachen/p/7401959.html 原创 2016年04月14日 23:29:01 标签: java / 线程池 / Executor 878 概述: 在java内置API中操作线程所用到的类为Thread.创建线程一般有两种方式, 继承Thread方式 实现Runnable方式,并以runnable作为target创建Thread 在Android中的耗时任务一般都需要另开线程来执行,常常需要用线程

Selenium中三种等待的使用方式

在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错.这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待,每一种等待都有自己的优点或缺点,如何选择最优的等待方式呢.来看下这三种等待方式吧.选择合理的等待方式,可以规避网络延迟,代码不稳定问题 time(固定等待) 在开发自动化框架过程中,最忌讳使用Python自带模块的time的sleep方法进行等待,虽然可以自定义等待时间,但当网络条件良好时,依旧按照

DotNet中几种常用的加密算法

在.NET项目中,我们较多的使用到加密这个操作.因为在现代的项目中,对信息安全的要求越来越高,那么多信息的加密就变得至关重要.现在提供几种常用的加密/解密算法. 1.用于文本和Base64编码文本的互相转换 和 Byte[]和Base64编码文本的互相转换: (1).将普通文本转换成Base64编码的文本        /// <summary>         /// 将普通文本转换成Base64编码的文本        /// </summary>         /// &l

java 中几种常用数据结构

Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类. 一.几个常用类的区别 1.ArrayList: 元素单个,效率高,多用于查询 2.Vector: 元素单个,线程安全,多用于查询 3.LinkedList:元素单个,多用于插入和删除 4.HashMap: 元素成对,元素可为空 5.HashTable: 元素成对,线程安全,元素不可为空 二.Vector.ArrayList和L

在selenium中一些相对常用的JavaScript事件

输入框输入: 1.找到输入框的id,然后进行输入操作 ordinal :输入框的id parameter :需要输入的内容 browser.execute_script("document.getElementById(\'" + ordinal + "\').value=\'" + parameter + "\';") 元素点击: 1..找到元素(selenium找元素的8种方式的其中一种即可)对象然后进行点击 python: prompt该元

Java中几种常用的设置小数点后位数的方法

记录下几种常用的控制小数点后位数的方法,除了这几种还有很多方法也可以控制,但是用得不常见,下面是比较常见的几种方法 使用BigDecimal类对超长数字进行格式化控制 使用DecimalFormat格式化十进制数字 使用printf格式化输出 具体实现 package _12_26_test; import java.math.BigDecimal; import java.math.BigInteger; import java.text.DecimalFormat; /*控制小数点后位数的几

MySQL中四种常用存储引擎的介绍

MySQL常用的四种引擎的介绍 (1):MyISAM存储引擎: 不支持事务.也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持3种不同的存储格式,分别是:静态表:动态表:压缩表 静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复:缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)ps:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把

C#中几种常用的集合的用法

集合:将一推数据类型相同的数据放入到一个容器内,该容器就是数组:内存中开辟的一连串空间. 非泛型集合 ArrayList集合: ArrayList是基于数组实现的,是一个动态数组,其容量能自动 增长 ArrayList的命名空间System.Collections 常用方法如下: 示例static void Main(string[] args) { ArrayList list = new ArrayList(); //添加单个元素 list.Add(true); list.Add(1); l

iOS中几种常用的数据存储方式

自己稍微总结了一下下,方便大家查看 1.write直接写入文件的方法 永久保存在磁盘中,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中, 具体步骤大致如下: 第一步:获得文件即将保存的路径: NSArray*documentPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,Y