在Selenium中,等待是一种重要的技术,用于处理页面加载和元素查找的时间差异。以下是Selenium中经典的三种等待方式:
隐式等待:
- 描述: 隐式等待是在查找所有元素时设置的全局等待时间。一旦设置,它将在整个测试执行期间都起作用。
- 用法: 设置隐式等待的代码通常在初始化WebDriver时完成,如下所示:
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)# 设置等待时间为10秒
- 作用: 如果WebDriver在查找元素时未立即找到,它将等待一段时间再次查找,直到找到元素或达到等待时间为止。
显式等待:
- 描述: 显式等待是在特定条件下等待特定元素的等待方式。它允许你设置等待的最长时间,并在等待期间以一定的频率调用特定的条件,直到条件成立或超时。
- 用法: 使用
WebDriverWait
和expected_conditions
库来定义等待条件,如下所示:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver,10).until(
EC.presence_of_element_located((By.ID,"myElement")))
- 作用: 在等待时间内,显式等待会不断检查特定条件是否成立,一旦成立就继续执行后续代码,否则在超时后抛出异常。
强制等待:
- 描述: 线程休眠是一种直接暂停执行的方式,不考虑元素是否已经加载完成。这是一种相对简单的等待方式,但不推荐在大多数情况下使用,因为它不够灵活,可能导致不必要的等待时间。
- 用法: 使用
time.sleep()
函数来实现线程休眠,如下所示:
import time
time.sleep(5)# 休眠5秒
- 作用: 线程休眠直接暂停执行指定的时间,无论元素是否已经准备好。
推荐
Python全栈开发与自动化测试开发班
由浅入深实战进阶,从小白到高手
以Python全栈开发为基础,深入教授自动化测试技能,为学员打造全面的技术能力。通过系统学习和实际项目实战,学员将具备在职场中脱颖而出的竞争力。不仅能够灵活运用Python进行开发,还能够保障项目质量通过自动化测试手段。这是一个全面提升职业竞争力的机会。
课程详情
Python开发必备基础技能与项目实战
Pvthon 编程语言/算法和数据结构/面向对象编程Web后端开发/前端开发/测试管理平台项目实战
人工智能ChatGPT实战
人工智能辅助学习各种开发和测试技能/Pytorch深度学框架/平台开发实战
数据分析与自动化办公
数据采集/Pandas与数据处理技术/ECharts与数据可视化技术/爬虫实战/自动化办公/批量文件处理
UI自动化测试与高级项目实战
Web自动化测试/App自动化测试/ PageObject设计模式
接口自动化测试
接口协议分析/Mock实战/服务端接口测试
性能测试
性能测试流程与方法/JMeter 脚本参数化/Grafana监控系统搭建
简历指导与模拟面试
1V1简历指导/模拟真实面试/测试开发岗面试全攻略名企私教服务 名企专家1v1辅导/行业专家技术指导/针对性解决工作难题/绩效提升辅导与晋升复盘
课程亮点
名企私教服务 先学习后付费 高额奖学金
专属社群+晚自习在线答疑
5V1全方位辅导作业+考试强化学习效果
简历修改 模拟面试 就业内推 面试复盘
福利一: 测试开发精品课免费学
福利二:免费领取技能图谱&大厂面试题合集
版权归原作者 软件测试大空翼 所有, 如有侵权,请联系我们删除。