简介

我们做脚本的时候,有时候会出现元素不可用找不到元素的情况下,这时候就需要等待元素加载出来了

等待元素加载出来有三种方法,一种是强制等待,二种是隐式等待,三是显式等待

强制等待

强制等待就是设置一个等待时间,等时间到了之后才执行下一步操作,这个是最常用最简单的方式

缺点是例如你设置了10秒的等待时间,但是元素3秒加载出来了,这时候还是需要等到10秒后才继续执行下一步

关键字 用法
Sleep Sleep 等待时间(秒)

隐式等待

全局等待变量的设置,等待时间内会一直刷新页面,直到元素加载出来位置,会增加无效的等待时间

关键字 用法 备注
Set Selenium Implicit Wait Set Selenium Implicit Wait 等待时间 针对所有浏览器
Set Browser Implicit Wait Set Browser Implicit Wait 等待时间 仅针对当前浏览器

显式等待

关键字 参数 用法示例 备注
Wait Until Element Contains locator, expected_text, timeout=None, message=None Wait Until Element Contains id:my_element Hello World 10s - locator: 定位目标元素(如 id:my_elementxpath://div)。
- expected_text: 期望元素包含的文本,大小写敏感。
- timeout: 最大等待时间(如 10s),默认使用库超时。
- message: 自定义错误信息,失败时显示。
Wait Until Element Is Visible locator, timeout=None, message=None Wait Until Element Is Visible xpath://div[@class='popup'] 15s - locator: 定位目标元素。
- timeout: 最大等待时间,默认使用库超时。
- message: 自定义错误信息,失败时显示。
Element Should Contain locator, expected_text, message=None Element Should Contain id:result Success Text not found - locator: 定位目标元素。
- expected_text: 期望元素包含的文本,大小写敏感。
- message: 自定义错误信息,失败时显示。
Wait Until Page Contains text, timeout=None, message=None Wait Until Page Contains Welcome to Dashboard 20s - text: 期望页面任意位置包含的文本。
- timeout: 最大等待时间,默认使用库超时。
- message: 自定义错误信息,失败时显示。
二维码

发表评论