EC库
函数 | 简介 | 适合场景 |
presence_of_element_located | 等待元素出现在 DOM 里,不要求可见 | 页面元素已经加载到 HTML 中,但可能还没显示出来。例如隐藏 input、懒加载区域、先拿元素对象再判断状态 |
visibility_of_element_located | 等待元素出现在 DOM 中,并且可见 | 需要输入、读取文本、确认页面内容显示出来 |
element_to_be_clickable | 等待元素可见并且可点击 | 按钮、下拉框、tab、确认弹窗按钮 |
presence_of_all_elements_located | 等待一组元素出现在 DOM 中 | 表格行、列表项、菜单选项加载完成 |
visibility_of_all_elements_located | 等待一组元素全部可见 | 下拉选项、卡片列表、tab 内容列表已经展示 |
text_to_be_present_in_element | 等待某个元素里出现指定文本 | 任务状态变化、保存成功提示、异步加载后的文案变化 |
text_to_be_present_in_element_value | 等待 input 的 value 中出现指定文本 | 输入框、搜索框、表单字段自动填充完成 |
title_is | 等待页面标题完全等于某个值 | 页面跳转后校验 title |
title_contains | 等待页面标题包含某个值 | 标题有动态前缀/后缀时 |
url_to_be | 等待当前 URL 完全等于指定地址 | 点击登录、菜单跳转后,确认已经进入目标页面 |
url_contains | 等待 URL 包含指定内容 | URL 后面带 token、参数、时间戳时 |
alert_is_present | 等待浏览器 alert 弹窗出现 | 原生浏览器弹窗,比如 alert()、confirm() |
invisibility_of_element_located | 等待元素不可见或不存在 | 等待 loading 消失、遮罩层消失、弹窗关闭 |
staleness_of | 等待旧元素失效 | 页面刷新、表格重新渲染、Vue/React 组件更新后,旧元素已经不能用了 |
frame_to_be_available_and_switch_to_it | 等待 iframe 可用,并切换进去 | 页面内容在 iframe 里。进入 iframe 后,后续定位都在 iframe 内部
退出 iframe:
driver.switch_to.default_content() |
element_located_to_be_selected | 等待某个元素被选中 | checkbox、radio 是否被选中 |
element_selection_state_to_be | 等待某个元素是否处于指定选中状态 | 确认复选框已经选中或取消 |
number_of_windows_to_be | 等待窗口数量变成指定数量 | 点击按钮打开新窗口、新标签页 |
new_window_is_opened | old_windows = driver.window_handles
driver.find_element(By.ID, "open").click()
wait.until(EC.new_window_is_opened(old_windows))
| 点击后打开新 tab |
上一篇
selenium
下一篇
allure
Loading...