跳转到内容

验证元素存在

验证元素存在 用于在移动设备上验证手机当前屏幕中是否存在特定 UI 元素。你可以通过元素选择器定位目标元素,并把验证结果(True/False)保存到输出变量,常用于页面完整性检查、条件判断和断言。

指令标识:MobileVerifyElementExist
指令类型:移动端指令
指令描述:验证特定 UI 元素在手机当前屏幕是否存在,输出验证结果

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

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

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

  • 验证页面关键元素是否都存在,确保页面加载完整。
  • 根据元素是否存在决定后续操作流程。
  • 验证可选元素(如广告、弹窗)是否存在,分支处理。
  • 验证错误提示元素是否存在,判断操作是否成功。
  • 验证某些功能模块或按钮是否存在,确认功能是否开启。
  • 元素选择器能准确定位目标元素(idxpathtextaccessibilityId 等)。
  • 已规划好验证失败时的处理方式(输出结果继续,或抛出异常中断)。
  • 输出变量已规划好,用于保存验证结果(Boolean)。
  • 根据元素加载快慢设置合理的超时时间。

【图片占位 | command-mobileverifyelementexist-config】
截图内容建议: 截一张可视化编排页面,画布选中「验证元素存在」节点,右侧属性面板展示「元素选择器」「将结果保存至」以及高级配置中的「False 结果处理」「超时时间」。
标注建议: 用 ① 标出元素选择器,用 ② 标出输出变量,用 ③ 标出 False 结果处理,用 ④ 标出超时时间。
用户看完应能明白: 主要只需要填写元素选择器和输出变量;False 结果处理和超时是高级项。

下面用一个常见场景演示:验证「我的」入口是否存在。按 3 步即可跑起来:

  1. 在画布中添加 验证元素存在 指令。
  2. 元素选择器 中填写目标元素定位,例如:
//*[@content-desc='我的']
  1. 将结果保存至 中填写输出变量名(例如 output),点击运行查看验证结果。
界面名称代码属性名类型必填默认值说明
元素选择器selectorString-元素定位方式,例如 idxpathtextaccessibilityId 等,不能为空。
False结果处理falseResultHandlingEnumOUTPUT_RESULT高级参数,验证结果为 False 时的处理方式:输出结果=OUTPUT_RESULT(继续流程);抛出异常=THROW_EXCEPTION(中断流程)。
超时时间timeoutDouble10000高级参数,查找元素的超时退出时间(毫秒)。
界面名称代码属性名类型必填说明
将结果保存至outKeyBoolean输出验证结果,True 表示元素存在,False 表示元素不存在。
  • 输出变量中得到布尔结果(True/False)。
  • 元素存在时返回 True,不存在时按 falseResultHandling 策略处理。
  • 运行日志中没有选择器语法错误。
现象可能原因处理建议
元素明明存在却返回 False选择器不准确或超时过短校验选择器,适当调大 timeout
验证失败直接中断流程falseResultHandling 设为 THROW_EXCEPTION需要继续流程时改为 OUTPUT_RESULT
取不到验证结果未配置输出变量检查「将结果保存至」是否填写
选择器报错定位表达式语法错误修正 xpath / accessibilityId 等表达式

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

# 验证「我的」入口是否存在
bots.mobileVerifyElementExist(
selector="//*[@content-desc='我的']",
timeout=10000,
falseResultHandling="OUTPUT_RESULT",
outKey="output",
)

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

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

Q1:selector 和 outKey 参数是必填的吗?

Section titled “Q1:selector 和 outKey 参数是必填的吗?”

A: selector 为必填;outKey 用于保存验证结果,建议配置。timeout 默认值为 10000ms

Q2:该指令的返回结果是什么类型?

Section titled “Q2:该指令的返回结果是什么类型?”

A: 返回结果为布尔值(Boolean)。true 表示元素存在,false 表示元素不存在。

A: timeout 为大于 0 的整数,最大不超过 60000ms。指令会在 timeout 时间内尝试查找元素,找到返回 true,否则返回 false

Q4:如何根据验证结果执行不同操作?

Section titled “Q4:如何根据验证结果执行不同操作?”

A: 可以使用条件判断指令,根据验证结果(true/false)执行不同的后续操作。

A: 该参数用于控制验证失败场景下的执行行为,支持两种策略(括号内为需传入的参数值):

输出结果(OUTPUT_RESULT,默认):验证失败时输出 false 结果到 outKey,继续执行后续流程。

抛出异常(THROW_EXCEPTION):验证失败时抛出异常,中断当前流程执行。