简介
我们做脚本的时候,有时候会出现元素不可用找不到元素的情况下,这时候就需要等待元素加载出来了
等待元素加载出来有三种方法,一种是强制等待,二种是隐式等待,三是显式等待
强制等待
强制等待就是设置一个等待时间,等时间到了之后才执行下一步操作,这个是最常用最简单的方式
缺点是例如你设置了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_element 或 xpath://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 : 自定义错误信息,失败时显示。 |