验证元素不可见
验证元素不可见 用于验证网页上指定元素是否不可见。你可以在自动化脚本或流程中使用它检查某个元素是否被隐藏,常用于页面状态验证、元素可见性检查和自动化测试,与「验证元素可见」功能相反。
指令标识:VerifyElementNotVisible
指令类型:网页指令
指令描述:验证指定页面元素是否不可见,与验证元素可见功能相反
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。验证元素不可见 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「验证元素不可见」节点,在右侧表单填写元素选择器 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.verifyElementNotVisible(selector=..., outKey="output") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 检查弹窗或对话框是否已隐藏,确认交互完成。
- 验证错误提示信息是否已消失。
- 验证加载动画或进度条是否已隐藏,确认加载完成。
- 根据条件验证某些元素是否应该隐藏。
- 验证元素在特定操作后是否被隐藏。
- 元素选择器能准确定位目标元素(支持从元素库选择或手动填写 XPath 等)。
- 已规划好验证失败时的处理方式(输出结果继续,或抛出异常中断)。
- 若目标元素在 iframe 中,需要填写 iframe 页面定位器。
- 输出变量已规划好,用于保存验证结果(Boolean)。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:打开示例网站后,验证某个提示元素已不可见。按 4 步即可跑起来:
- 先用 打开网页 打开示例网站。
- 在画布中添加 验证元素不可见 指令。
- 在 元素选择器 中填写目标元素定位,例如:
//*[@id='__next']/div[2]/div[2]/section/div[1]/h1- 在 将结果保存至 中填写输出变量名(例如
output),点击运行查看验证结果。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 元素选择器 | selector | String | 是 | - | 用于定位的页面元素选择器,不能为空,支持从元素库选择或手动填写 XPath 等定位器。 |
| False结果处理 | falseResultHandling | Enum | 否 | OUTPUT_RESULT | 高级参数,验证结果为 False 时的行为:输出结果=OUTPUT_RESULT(继续流程);抛出异常=THROW_EXCEPTION(中断流程)。 |
| iframe页面定位器 | frameSelector | String | 否 | - | 高级参数,iframe 的 XPath,目标元素在 iframe 中时填写,例如 //html/iframe。 |
| 查找元素高级配置 | findElementOptions | JSON | 否 | - | 高级参数,以 JSON 配置查找元素的高级选项,可在其中设置定位超时时间(timeout,默认约 5000ms,设为 0 表示不等待)。 |
| 界面名称 | 代码属性名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 将结果保存至 | outKey | Boolean | 否 | 填写变量名称(例如 notVisible),保存验证结果(true/false)。 |
- 输出变量中得到布尔结果(
true/false)。 - 元素不可见时返回
true,仍可见时按falseResultHandling策略处理。 - 运行日志中没有选择器语法错误。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 元素已隐藏却返回 false | 定位超时过短或选择器不准 | 在 findElementOptions 中调大 timeout,校验选择器 |
| 验证失败直接中断流程 | falseResultHandling 设为 THROW_EXCEPTION | 需要继续流程时改为 OUTPUT_RESULT |
| iframe 内元素验证不到 | 未填写 iframe 定位器 | 配置 frameSelector 指向目标 iframe |
| 取不到验证结果 | 未配置输出变量 | 检查「将结果保存至」是否填写 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# Step 1: 先打开示例网站bots.openUrl(url="https://example.com")
# Step 2: 验证元素是否不可见,定位超时在 findElementOptions 中设置bots.verifyElementNotVisible( selector="//*[@id='__next']/div[2]/div[2]/section/div[1]/h1", findElementOptions="{'timeout':5000}", falseResultHandling="OUTPUT_RESULT", outKey="output",)可视化表单里的「元素选择器」「False 结果处理」「查找元素高级配置」「将结果保存至」分别对应代码里的 selector、falseResultHandling、findElementOptions、outKey。
如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)。
Q1:该指令检查的隐藏状态有哪些?
Section titled “Q1:该指令检查的隐藏状态有哪些?”A: 该指令能识别多种隐藏状态,包括 display:none、visibility:hidden、opacity:0、width:0、height:0 等 CSS 设置的影响。
Q2:如果元素不存在会怎样?
Section titled “Q2:如果元素不存在会怎样?”A: 如果元素不存在,认为元素不可见,返回 true,不会抛出异常。
Q3:验证元素不可见和验证元素不存在有什么区别?
Section titled “Q3:验证元素不可见和验证元素不存在有什么区别?”A: 验证元素不存在 检查元素是否在 DOM 中不存在;本指令检查元素是否不可见(但可能存在于 DOM 中)。隐藏的元素在 DOM 中存在但不可见。
Q4:返回 true 表示什么?
Section titled “Q4:返回 true 表示什么?”A: 返回 true 表示元素不可见(被隐藏);返回 false 表示元素仍然可见。
Q5:False 结果处理如何使用?
Section titled “Q5:False 结果处理如何使用?”A: 该参数用于控制验证失败场景下的执行行为,支持两种策略(括号内为需传入的参数值):
输出结果(OUTPUT_RESULT,默认):验证失败时输出 false 结果到 outKey,继续执行后续流程。
抛出异常(THROW_EXCEPTION):验证失败时抛出异常,中断当前流程执行。