当前位置: 首页 > news >正文

selenium三种等待方式详解

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

在UI自动化过程中,常遇到元素未找到,代码报错的情况。这种情况下,需要用等待wait。

在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait

一、固定等待(sleep)

导入time模块,设定固定的等待时间

缺点:在网络状态良好,元素可以加载出来的情况下,依然需要等待,会导致脚本允许时间延长。

二、隐式等待(implicitly_wait)

隐式等待是指页面元素在设定时间内全部加载完成,才能执行下一步。若超过了设定时间报异常

缺点:页面的JS一般是放在body的最后加载的,若JS没有加载,页面想要的元素已经出现,这时还要继续等待。

也会影响脚本执行速度。

三、显示等待(WebDriverWait)

通过from selenium.webdriver.support.wait import WebDriverWait 导入方法WebDriverWait()

参数:

driver:浏览器驱动

timeout:最长超时时间,单位秒

poll_frequency:监测频率时长,单位秒

ignored_exception:忽略的异常信息,若报的是元组内的异常,则不中断代码,继续执行。若报的元组外的异常,则中断代码,停止执行。

WebDriverWait函数中有until和until not两个方法:

until和until not都有参数method和message。注意这里的method参数必须含有_call_(),使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用

method:在等待时间内,每隔一段时间调用下method这个参数,判断返回值是否为True,若为True则执行下一步。

message:超时后,报TimeoutException写入message。

WebDriverWait与expected_conditions结合使用:

expected_conditions类提供的条件判断方法:

除了上述expected_conditions方法,还可以使用匿名函数lambda

lambda driver:driver.find_element(<定位元素>)

例如:WebDriverWait(driver, 5, 1).until(lambda driver:driver.find_element_by_id('kw'))

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.jsqmd.com/news/1327884/

相关文章:

  • 【单片机毕业设计】基于 STM32/51 单片机的多按键气压监测预警系统实现 便携式气压实时采集与超限声光报警硬件设计(022401)
  • 南京瑞华机械制造有限公司|2026年8月双螺杆挤出机、反应挤出机、脱挥挤出机选型方案:高温防爆与回收造粒原厂技术专利及参数案例 - 品牌推荐用户报道者
  • Qwen3-VL私有化部署全指南
  • 【计算机毕业设计】基于springboot的画师约稿平台的设计与实现
  • 粤车南下FR车牌需先办香港驾照 - luffy+2
  • 云原生数据库自动备份策略|K8s 定时备份 + 异地存储 + 过期清理
  • 无犯罪公证怎么开?有什么注意事项?办理测评全指南 - 指上通
  • Depth-Anything-V2边缘计算部署实战:从模型压缩到TensorRT加速的5大性能突破
  • 2026小程序自助搭建平台有哪些?如何快速上手?
  • 2026年超声波流量计推荐:主流品牌评测与实用选型指南 - 极欧测评
  • Agent 最该学会的不是“一次做对”,而是做错后能撤回来
  • COMSOL二维散热器仿真优化与热管理实践
  • 深度解密:DroneSecurity如何逆向解析DJI无人机Drone-ID通信协议
  • 2026 武汉万通氩电联焊(氩弧 + 电弧)**招生简章|管道高薪焊工方向,学费明细 - 湖北找学校
  • Hotkey Detective:Windows热键冲突终极解决方案,三分钟精准定位占用程序
  • 2026年8月青岛至杭州大型模具运输物流行业研究报告
  • 别把懂语义和查事实混为一谈:企业级 Agent 真正缺的是什么?
  • League Akari:革命性LCU API工具集如何重新定义英雄联盟游戏体验
  • 从密码战看系统化工程能力:组织、流程与人才培养的决胜之道
  • 天业悦山湖实地走访|环京想入手文旅房,这家低风险靠谱盘我替大家摸清了 - 品牌观察室
  • 2026年国内专业电机公司** 适配多场景可靠之选 - 滚动商讯
  • 2026 国内知名中山太阳能地埋灯厂家有哪些?优质厂家推荐参考 - 品牌深度评测
  • 2026大学录取季,通知书还没送到,企业微信已经给新生分好班了
  • 2026年佛山旧厨房翻新不锈钢橱柜哪家好 实力** - 奔跑123
  • PLC在智能停车场系统中的应用与实现
  • 膜分离脱水技术:溶剂回收节能新路径解析 - 资讯在线
  • 网易云音乐算法优化工具:5步重塑你的个性化音乐推荐体验
  • 电源驱动电路设计实战:从MOSFET驱动到H桥调试全解析
  • 进化失衡:人类技术干预下的生物进化挑战
  • 5步实战指南:如何高效构建Firefox Reality VR浏览器的完整方案