等待元素不存在
等待元素不存在 用于在移动设备上等待手机当前屏幕中不再存在特定 UI 元素。你可以通过元素选择器定位目标元素,并等待该元素消失后再继续执行后续操作,常用于等待加载动画、Toast 提示或弹窗关闭。
指令标识:MobileWaitForElementNotPresent
指令类型:移动端指令
指令描述:等待手机当前屏幕中的特定 UI 元素消失,返回结果,成功后继续执行
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。等待元素不存在 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「等待元素不存在」节点,在右侧表单填写元素选择器 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.mobileWaitForElementNotPresent(selector=..., outKey="output") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 等待加载动画消失,确认页面加载完成。
- 等待 Toast 提示消失,确认提示显示完毕。
- 点击关闭按钮后,等待弹窗元素消失。
- 删除元素后,等待该元素消失,确认删除成功。
- 需要断言某元素将被关闭或不存在于当前页面。
- 元素选择器能准确定位要等待消失的目标元素。
- 根据元素可能消失的时机设置合理的超时时间。
- 输出变量已规划好,用于保存等待结果(Boolean)。
- 超时仍未消失时会按失败处理中止,不会静默跳过。
【图片占位 | command-mobilewaitforelementnotpresent-config】
截图内容建议: 截一张可视化编排页面,画布选中「等待元素不存在」节点,右侧属性面板展示「元素选择器」「超时时间」「将结果保存至」区域。
标注建议: 用 ① 标出元素选择器,用 ② 标出超时时间,用 ③ 标出输出变量,用 ④ 标出运行按钮。
用户看完应能明白: 这个指令会在超时时间内等待目标元素消失,消失后才继续执行后续节点。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:等待「购物车」浮层消失后再继续。按 3 步即可跑起来:
- 在画布中添加 等待元素不存在 指令。
- 在 元素选择器 中填写目标元素定位,例如:
//*[@content-desc='购物车']- 在 将结果保存至 中填写输出变量名(例如
output),点击运行确认元素消失后流程继续。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 元素选择器 | selector | String | 是 | - | 元素定位方式,例如 xpath。 |
| 超时时间 | timeout | Integer | 否 | 10000 | 高级参数,查找元素的超时时间(毫秒)。 |
| 界面名称 | 代码属性名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 将结果保存至 | outKey | Boolean | 否 | 输出等待结果,True 表示元素不存在(已消失),False 表示元素仍存在。 |
- 目标元素在超时时间内消失,输出结果为
True。 - 元素消失后流程继续执行后续节点。
- 运行日志中没有选择器语法错误。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 一直等到超时 | 元素始终存在或选择器匹配范围过大 | 校验选择器,确认元素确实会消失 |
| 元素已消失却返回 False | 超时时间过短 | 适当调大 timeout(最大 60000ms) |
| 取不到等待结果 | 未配置输出变量 | 检查「将结果保存至」是否填写 |
| 选择器报错 | 定位表达式语法错误 | 修正 xpath 等表达式 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# 等待「购物车」浮层消失bots.mobileWaitForElementNotPresent( selector="//*[@content-desc='购物车']", timeout=10000, outKey="output",)可视化表单里的「元素选择器」「超时时间」「将结果保存至」分别对应代码里的 selector、timeout、outKey。
如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)。
Q1:返回结果为什么是布尔值?
Section titled “Q1:返回结果为什么是布尔值?”A: 返回结果为布尔值,true 表示元素确实不存在/已消失。
Q2:若元素在异步动画后才消失,应该如何处理?
Section titled “Q2:若元素在异步动画后才消失,应该如何处理?”A: 请合理设置 timeout。timeout 为大于 0 的整数,最大不超过 60000ms。
Q3:该指令何时使用?
Section titled “Q3:该指令何时使用?”A: 当需要断言某元素将被关闭或不存在于当前页面时使用本指令。
Q4:超时时间如何设置?
Section titled “Q4:超时时间如何设置?”A: 根据实际场景设置合适的超时时间,避免过长或过短。对于动态加载的元素,建议设置合理的 timeout,确保有足够时间判断元素是否消失。