python+selenium之等待时间(三种)
版权声明:本文为CSDN博主「药药君」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Static_at/article/details/81165199
1.强制等待时间 sleep() : 必须导入time包后才可以使用,强制等待生效时间=页面跳转时间+sleep()设置休眠时间
2.显示等待时间 WebDriverWait() : 必须导入WebDriverWait包才可以使用,显示等待时间是针对单个元素生效的,当在规定时间内找到了对应元素,则执行下一步操作。
3.隐式等待时间 implicitly_wait() : 智能等待时间,是针对全局的元素都生效,不需要导入包。当在规定时间内找到了对应元素,则执行下一步操作。
强制等待时间使用语法:sleep(s) s表示时间,以秒为单位 例:sleep(2) 休眠2s
显示等待时间使用语法:
WebDriverWait(x,y,z).until(lambda x:x.find_element_by_元素定位方法(“对应元素方法的值”))
x表示网页窗口对象
y表示总等待时间(s)
z表示等待过程中,每隔多久查看一次元素,单位s
until是固定格式,可以理解为直到元素定位到为止,lambda x:x是一个匿名函数构建的方法,这里不太好理解可以理解为固定格式lambda总体就是网页窗口对象,而后面的.find_element_by_…就是援用之前的定位方法
隐等待时间使用语法: 网页对象名.implicity_wait()
以下是脚本演示:
#coding:utf-8
from selenium import webdriver
from time import sleep #导入强制等待时间的包
from selenium.webdriver.support.ui import WebDriverWait #导入显示等待时间的包
bro = webdriver.Firefox()
bro.maximize_window()
bro.implicitly_wait(5) #隐式时间等待,智能等待,针对于全局
bro.get("https://www.baidu.com")
sleep(2) #休眠2s
a = WebDriverWait(bro,10,2).until(lambda x:x.find_element_by_id("kw")) #显示等待时间,针对于单个元素进行时间的等待
a.send_keys("123")
#总结:只针对一个元素进行时间的等待,要是找不到该元素则会一直消耗完所有的等待时间才进行下一步
注意 : 隐式等待时间必须在元素出现之前声明,一般都是放在代码的前面。一般的导入包也是放在代码的最前面。
python+selenium之等待时间(三种)相关推荐
- Python创建多线程的三种方法
Python创建多线程的三种方法 thread模块函数式创建线程 继承threading类创建多线程 threading模块函数式创建线程 使用总结 thread模块函数式创建线程 调用thread模 ...
- Python 发送 email 的三种方式
Python发送email的三种方式,分别为使用登录邮件服务器.使用smtp服务.调用sendmail命令来发送三种方法 本文原文自米扑博客:Python 发送 email 的三种方式 Python发 ...
- 测试Python下载图片的三种方法
简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...
- python学习音频-详解python播放音频的三种方法
第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...
- python可以播放音乐吗_详解python播放音频的三种方法
第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...
- python如何安装matplotlib_详解python安装matplotlib库三种失败情况
(可能只有最后一句命令有用,可能全篇都没用) (小白方法,可能只适用于本人情况) 安装matplotlib时,出现的三种失败情况 1.read timed out 一开始我在pycharm终端使用pi ...
- Python语言学习:三种随机函数random.seed()、numpy.random.seed()、set_random_seed()及random_normal的简介、使用方法(固定种子)详细攻略
Python语言学习:三种随机函数random.seed().numpy.random.seed().set_random_seed()及random_normal的简介.使用方法(固定种子)之详细攻 ...
- Python实现二叉树的三种深度遍历方法!
python代码实现了二叉树,这次将会实现二叉树的几种遍历方法,来更好的解析二叉树的结构特点.分别是一种广度遍历,和三种深度遍历方法:先序遍历,中序遍历,后序遍历.下面是代码实现: 1.先序遍历 遍历 ...
- python调用cmd命令释放端口_详解python调用cmd命令三种方法
目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码, ...
- python实现单例模式的三种方式及相关知识解释
python实现单例模式的三种方式及相关知识解释 模块模式 装饰器模式 父类重写new继承 单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singlet ...
最新文章
- Atitti mybatis的单元测试attilax总结
- React Native初始化项目0.47.1报错
- 怎样编写测试类测试分支_测试技巧–不编写测试
- 云+X案例展 | 民生类: “中企通信 × TutorABC”共创全球数字教育科技新里程
- Android中已经添加权限,依然提示缺少权限,此时你需要添加动态权限
- 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
- Spring Cloud Eureka 2 (Eureka Server搭建服务注册中心)
- 关于删库 恢复 (慎重使用,未亲测)
- pythonttf字体下载_python 58 字体反爬
- 计算机代码坑人小程序bat,运用bat写的整人小程序有哪些?
- MySQL-巧用Join来优化SQL
- u盘安装linux系统有什么弊端,使用U盘安装Linux系统的经验总结
- 推荐一款护眼的软件——f.lux。它可以随着时间,自己调节色温
- 英美文化----CAT与猫
- PCB 铜厚厚度和线宽的选择
- C# Word文档中插入、提取图片,文字替换图片
- C语言中的cbp文件是什么,C语言编程入门——函数(上)
- PHP搭建织梦网站,织梦官方php服务器环境DedeAMPZ安装教程
- 西南科技大学计算机科学与技术学院硕士点,西南科技大学学位授权点一览表.doc...
- 有缺陷的一元三次方程求解设计(盛金公式)