版权声明:本文为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之等待时间(三种)相关推荐

  1. Python创建多线程的三种方法

    Python创建多线程的三种方法 thread模块函数式创建线程 继承threading类创建多线程 threading模块函数式创建线程 使用总结 thread模块函数式创建线程 调用thread模 ...

  2. Python 发送 email 的三种方式

    Python发送email的三种方式,分别为使用登录邮件服务器.使用smtp服务.调用sendmail命令来发送三种方法 本文原文自米扑博客:Python 发送 email 的三种方式 Python发 ...

  3. 测试Python下载图片的三种方法

    简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...

  4. python学习音频-详解python播放音频的三种方法

    第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...

  5. python可以播放音乐吗_详解python播放音频的三种方法

    第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...

  6. python如何安装matplotlib_详解python安装matplotlib库三种失败情况

    (可能只有最后一句命令有用,可能全篇都没用) (小白方法,可能只适用于本人情况) 安装matplotlib时,出现的三种失败情况 1.read timed out 一开始我在pycharm终端使用pi ...

  7. Python语言学习:三种随机函数random.seed()、numpy.random.seed()、set_random_seed()及random_normal的简介、使用方法(固定种子)详细攻略

    Python语言学习:三种随机函数random.seed().numpy.random.seed().set_random_seed()及random_normal的简介.使用方法(固定种子)之详细攻 ...

  8. Python实现二叉树的三种深度遍历方法!

    python代码实现了二叉树,这次将会实现二叉树的几种遍历方法,来更好的解析二叉树的结构特点.分别是一种广度遍历,和三种深度遍历方法:先序遍历,中序遍历,后序遍历.下面是代码实现: 1.先序遍历 遍历 ...

  9. python调用cmd命令释放端口_详解python调用cmd命令三种方法

    目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码, ...

  10. python实现单例模式的三种方式及相关知识解释

    python实现单例模式的三种方式及相关知识解释 模块模式 装饰器模式 父类重写new继承 单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singlet ...

最新文章

  1. Atitti mybatis的单元测试attilax总结
  2. React Native初始化项目0.47.1报错
  3. 怎样编写测试类测试分支_测试技巧–不编写测试
  4. 云+X案例展 | 民生类: “中企通信 × TutorABC”共创全球数字教育科技新里程
  5. Android中已经添加权限,依然提示缺少权限,此时你需要添加动态权限
  6. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
  7. Spring Cloud Eureka 2 (Eureka Server搭建服务注册中心)
  8. 关于删库 恢复 (慎重使用,未亲测)
  9. pythonttf字体下载_python 58 字体反爬
  10. 计算机代码坑人小程序bat,运用bat写的整人小程序有哪些?
  11. MySQL-巧用Join来优化SQL
  12. u盘安装linux系统有什么弊端,使用U盘安装Linux系统的经验总结
  13. 推荐一款护眼的软件——f.lux。它可以随着时间,自己调节色温
  14. 英美文化----CAT与猫
  15. PCB 铜厚厚度和线宽的选择
  16. C# Word文档中插入、提取图片,文字替换图片
  17. C语言中的cbp文件是什么,C语言编程入门——函数(上)
  18. PHP搭建织梦网站,织梦官方php服务器环境DedeAMPZ安装教程
  19. 西南科技大学计算机科学与技术学院硕士点,西南科技大学学位授权点一览表.doc...
  20. 有缺陷的一元三次方程求解设计(盛金公式)

热门文章

  1. ucosii学习总结
  2. python一键绘制带边框统计的散点图
  3. 电商spu与sku的概念
  4. java用户注册邮箱激活
  5. 如何学习安卓软件开发
  6. LDD6410 开发板完全开发手册1——LDD6410硬软件特性
  7. Java中Iterator类的详细介绍
  8. 无限列表【UIGridView】应用示例
  9. 阿里云服务器美国西部 1、美国西部 2、美国东部 1、 美国东部 2是哪个城市
  10. 网络编程socket accept函数的理解