验证元素存在
验证元素存在 用于在移动设备上验证手机当前屏幕中是否存在特定 UI 元素。你可以通过元素选择器定位目标元素,并把验证结果(True/False)保存到输出变量,常用于页面完整性检查、条件判断和断言。
指令标识:MobileVerifyElementExist
指令类型:移动端指令
指令描述:验证特定 UI 元素在手机当前屏幕是否存在,输出验证结果
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。验证元素存在 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「验证元素存在」节点,在右侧表单填写元素选择器 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.mobileVerifyElementExist(selector=..., outKey="output") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 验证页面关键元素是否都存在,确保页面加载完整。
- 根据元素是否存在决定后续操作流程。
- 验证可选元素(如广告、弹窗)是否存在,分支处理。
- 验证错误提示元素是否存在,判断操作是否成功。
- 验证某些功能模块或按钮是否存在,确认功能是否开启。
- 元素选择器能准确定位目标元素(
id、xpath、text、accessibilityId等)。 - 已规划好验证失败时的处理方式(输出结果继续,或抛出异常中断)。
- 输出变量已规划好,用于保存验证结果(Boolean)。
- 根据元素加载快慢设置合理的超时时间。
【图片占位 | command-mobileverifyelementexist-config】
截图内容建议: 截一张可视化编排页面,画布选中「验证元素存在」节点,右侧属性面板展示「元素选择器」「将结果保存至」以及高级配置中的「False 结果处理」「超时时间」。
标注建议: 用 ① 标出元素选择器,用 ② 标出输出变量,用 ③ 标出 False 结果处理,用 ④ 标出超时时间。
用户看完应能明白: 主要只需要填写元素选择器和输出变量;False 结果处理和超时是高级项。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:验证「我的」入口是否存在。按 3 步即可跑起来:
- 在画布中添加 验证元素存在 指令。
- 在 元素选择器 中填写目标元素定位,例如:
//*[@content-desc='我的']- 在 将结果保存至 中填写输出变量名(例如
output),点击运行查看验证结果。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 元素选择器 | selector | String | 是 | - | 元素定位方式,例如 id、xpath、text、accessibilityId 等,不能为空。 |
| False结果处理 | falseResultHandling | Enum | 否 | OUTPUT_RESULT | 高级参数,验证结果为 False 时的处理方式:输出结果=OUTPUT_RESULT(继续流程);抛出异常=THROW_EXCEPTION(中断流程)。 |
| 超时时间 | timeout | Double | 否 | 10000 | 高级参数,查找元素的超时退出时间(毫秒)。 |
| 界面名称 | 代码属性名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 将结果保存至 | outKey | Boolean | 否 | 输出验证结果,True 表示元素存在,False 表示元素不存在。 |
- 输出变量中得到布尔结果(
True/False)。 - 元素存在时返回
True,不存在时按falseResultHandling策略处理。 - 运行日志中没有选择器语法错误。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 元素明明存在却返回 False | 选择器不准确或超时过短 | 校验选择器,适当调大 timeout |
| 验证失败直接中断流程 | falseResultHandling 设为 THROW_EXCEPTION | 需要继续流程时改为 OUTPUT_RESULT |
| 取不到验证结果 | 未配置输出变量 | 检查「将结果保存至」是否填写 |
| 选择器报错 | 定位表达式语法错误 | 修正 xpath / accessibilityId 等表达式 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# 验证「我的」入口是否存在bots.mobileVerifyElementExist( selector="//*[@content-desc='我的']", timeout=10000, falseResultHandling="OUTPUT_RESULT", outKey="output",)可视化表单里的「元素选择器」「False 结果处理」「超时时间」「将结果保存至」分别对应代码里的 selector、falseResultHandling、timeout、outKey。
如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)。
Q1:selector 和 outKey 参数是必填的吗?
Section titled “Q1:selector 和 outKey 参数是必填的吗?”A: selector 为必填;outKey 用于保存验证结果,建议配置。timeout 默认值为 10000ms。
Q2:该指令的返回结果是什么类型?
Section titled “Q2:该指令的返回结果是什么类型?”A: 返回结果为布尔值(Boolean)。true 表示元素存在,false 表示元素不存在。
Q3:超时时间如何设置?
Section titled “Q3:超时时间如何设置?”A: timeout 为大于 0 的整数,最大不超过 60000ms。指令会在 timeout 时间内尝试查找元素,找到返回 true,否则返回 false。
Q4:如何根据验证结果执行不同操作?
Section titled “Q4:如何根据验证结果执行不同操作?”A: 可以使用条件判断指令,根据验证结果(true/false)执行不同的后续操作。
Q5:False 结果处理如何使用?
Section titled “Q5:False 结果处理如何使用?”A: 该参数用于控制验证失败场景下的执行行为,支持两种策略(括号内为需传入的参数值):
输出结果(OUTPUT_RESULT,默认):验证失败时输出 false 结果到 outKey,继续执行后续流程。
抛出异常(THROW_EXCEPTION):验证失败时抛出异常,中断当前流程执行。