跳转到内容

等待元素不存在

等待元素不存在 用于在移动设备上等待手机当前屏幕中不再存在特定 UI 元素。你可以通过元素选择器定位目标元素,并等待该元素消失后再继续执行后续操作,常用于等待加载动画、Toast 提示或弹窗关闭。

指令标识:MobileWaitForElementNotPresent
指令类型:移动端指令
指令描述:等待手机当前屏幕中的特定 UI 元素消失,返回结果,成功后继续执行

工作流支持「可视化编排」和「代码编排」两种创建方式。等待元素不存在 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。

方式怎么用适合人群
可视化编排(推荐先学)拖入「等待元素不存在」节点,在右侧表单填写元素选择器大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 bots.mobileWaitForElementNotPresent(selector=..., outKey="output")熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。

  • 等待加载动画消失,确认页面加载完成。
  • 等待 Toast 提示消失,确认提示显示完毕。
  • 点击关闭按钮后,等待弹窗元素消失。
  • 删除元素后,等待该元素消失,确认删除成功。
  • 需要断言某元素将被关闭或不存在于当前页面。
  • 元素选择器能准确定位要等待消失的目标元素。
  • 根据元素可能消失的时机设置合理的超时时间。
  • 输出变量已规划好,用于保存等待结果(Boolean)。
  • 超时仍未消失时会按失败处理中止,不会静默跳过。

【图片占位 | command-mobilewaitforelementnotpresent-config】
截图内容建议: 截一张可视化编排页面,画布选中「等待元素不存在」节点,右侧属性面板展示「元素选择器」「超时时间」「将结果保存至」区域。
标注建议: 用 ① 标出元素选择器,用 ② 标出超时时间,用 ③ 标出输出变量,用 ④ 标出运行按钮。
用户看完应能明白: 这个指令会在超时时间内等待目标元素消失,消失后才继续执行后续节点。

下面用一个常见场景演示:等待「购物车」浮层消失后再继续。按 3 步即可跑起来:

  1. 在画布中添加 等待元素不存在 指令。
  2. 元素选择器 中填写目标元素定位,例如:
//*[@content-desc='购物车']
  1. 将结果保存至 中填写输出变量名(例如 output),点击运行确认元素消失后流程继续。
界面名称代码属性名类型必填默认值说明
元素选择器selectorString-元素定位方式,例如 xpath
超时时间timeoutInteger10000高级参数,查找元素的超时时间(毫秒)。
界面名称代码属性名类型必填说明
将结果保存至outKeyBoolean输出等待结果,True 表示元素不存在(已消失),False 表示元素仍存在。
  • 目标元素在超时时间内消失,输出结果为 True
  • 元素消失后流程继续执行后续节点。
  • 运行日志中没有选择器语法错误。
现象可能原因处理建议
一直等到超时元素始终存在或选择器匹配范围过大校验选择器,确认元素确实会消失
元素已消失却返回 False超时时间过短适当调大 timeout(最大 60000ms
取不到等待结果未配置输出变量检查「将结果保存至」是否填写
选择器报错定位表达式语法错误修正 xpath 等表达式

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

# 等待「购物车」浮层消失
bots.mobileWaitForElementNotPresent(
selector="//*[@content-desc='购物车']",
timeout=10000,
outKey="output",
)

可视化表单里的「元素选择器」「超时时间」「将结果保存至」分别对应代码里的 selectortimeoutoutKey

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)。

A: 返回结果为布尔值,true 表示元素确实不存在/已消失。

Q2:若元素在异步动画后才消失,应该如何处理?

Section titled “Q2:若元素在异步动画后才消失,应该如何处理?”

A: 请合理设置 timeouttimeout 为大于 0 的整数,最大不超过 60000ms

A: 当需要断言某元素将被关闭或不存在于当前页面时使用本指令。

A: 根据实际场景设置合适的超时时间,避免过长或过短。对于动态加载的元素,建议设置合理的 timeout,确保有足够时间判断元素是否消失。