极奇策RPA技术教程:等待元素消失 (NodeWaitForDisappear) - 自动化开发与配置详细指南

等待元素消失
📖 节点概述
用来等待页面上的某个元素从有到无。你可以指定它从 DOM 中删除、变为不可见,或者从禁用状态恢复为可用。节点会循环检查元素状态,一旦满足消失条件,放行;若超时还未消失,可选择自动截图留证或转入失败分支。适合处理“加载中”遮罩、临时弹窗、倒计时按钮等场景。
💡 使用场景:
- 等待加载完成:等待“正在加载…”的转圈或遮罩元素消失,再进行后续操作。
- 等待弹窗关闭:操作完成后,等待提示“保存成功”的弹窗自动消失或关闭。
- 等待按钮激活:等待一个灰色的“提交”按钮变为可用(disabled 属性移除)。
- 监控动态内容:页面上的某个临时通知或错误提示消失后,进行下一步抓取。
- 异常恢复:等待错误遮罩消失,若超时则截图留证,用于后续排查。
🎮 实战连线指南:如何正确使用它?
节点默认对当前活动标签页生效,也可以指定 Tab。你需要提供一个元素定位器来告诉节点监控哪个元素。执行后,节点会在后台不断检查,直到满足“消失”条件或超过最大等待时间。
场景案例:点击“保存”后,等待“保存中…”的弹窗关闭
- 点击保存按钮:使用【点击元素】节点点击“保存”按钮。
- 配置等待消失:将点击的
Exec输出连接到【等待元素消失】的Exec输入。- “元素定位”填入提示弹窗的选择器(如
.saving-modal)。 - “消失条件”选择
从DOM中移除(因为保存完成后弹窗通常会从页面中删除)。 - 确保“必须先出现,再等待其消失”是开启的,这样如果弹窗还没出现,节点会先等它弹出,再等它关闭。
- “元素定位”填入提示弹窗的选择器(如
- 超时处理:在高级选项中可设置“超时(ms)”和“重试次数”。若勾选“截图失败”,超时时会自动截取一张当前页面的图片,保存到
wait_errors文件夹下。 - 连接后续:
Exec输出可连接后续操作,如跳转到列表页或提取成功信息。是否超时和最后状态引脚可用于判断等待结果。
场景案例:等待灰色按钮变为可点击(disabled 消失)
- 定位按钮:获取该按钮的选择器(如
#submit-btn)。 - 选择条件:“消失条件”改为
变为可用 (disabled 属性消失)。 - 关闭初始存在要求:如果该按钮从一开始就存在于页面上,可以关闭“必须先出现,再等待其消失”,这样节点会直接开始检查它是否已经变为可用。
- 运行:当按钮的
disabled属性被移除,节点立即放行,流程可以继续点击该按钮。
自定义消失逻辑:如果内置条件不满足,你还可以在高级选项中编写一段 JS 函数,自定义判断元素是否已“消失”。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | 控制流入口,触发后开始等待元素消失。 |
| Tab | TAB | (可选) 指定操作的标签页,不连则使用当前活动标签页。 |
| 元素定位 | LOCATOR | 需要监控的目标元素定位表达式。支持备选定位列表,会按顺序尝试。 |
| 超时(ms) | INT | (可选) 可通过连线动态改变等待超时时间(毫秒),优先级高于面板设定值。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 消失条件 | 下拉选择 | 定义怎样才算“消失”:<br>• 从DOM中移除:元素从页面代码中彻底删除。<br>• 变为不可见:元素仍存在,但被隐藏(display:none, visibility:hidden, 透明, 尺寸为0)。<br>• 变为可用:元素的 disabled 属性被移除,常用于等待按钮激活。 |
| 超时(ms) | 数字 | 单次等待的最长时间(毫秒)。设为 0 表示永不超时(慎用)。 |
| 间隔(ms) | 数字 | 检查元素状态的频率(毫秒)。 |
| 必须先出现,再等待其消失 | 开关 | 开启后,节点会先等待元素出现一次,再进入消失判断。关闭时,如果元素一开始就不存在,节点会直接认为“已消失”而立即通过。 |
| 消失后延迟(ms) | 数字 | (高级) 确认元素消失后,额外等待一段时间再继续(例如等待后续 DOM 更新完成)。 |
| 自定义JS条件 | 多行文本 | (高级) 编写一个 JS 函数,接收元素对象,返回 true 表示该元素应被视为“已消失”。 |
| 超时重试 | 数字 | (高级) 超时后自动重新等待的次数。总等待时间 ≈ 超时 × (重试次数+1)。 |
| 截图失败 | 开关 | (高级) 超时后,自动对当前页面截图并保存到本地 wait_errors 文件夹,便于事后分析。 |
| 忽略报错 | 开关 | (高级) 超时后不抛出异常,而是正常触发 Exec 输出,但 是否超时 引脚会输出 True。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | 元素成功消失(或超时但开启了忽略报错)后触发。 |
| 是否超时 | BOOL | True 表示最终超时,False 表示元素成功消失。 |
| 最后状态 | STRING | 描述等待结束时的具体状态,例如“消失成功 (已从DOM移除)”或“超时仍存在”。 |
💎 小贴士:
- 如果元素是通过动画淡出的,建议将“消失条件”设为“变为不可见”,因为动画结束前元素可能尚未从 DOM 移除。
- “变为可用”条件只检查
disabled属性,不关心元素的其他状态(如可见性),适用于表单按钮等。- 开启“必须先出现”可以避免因页面加载过慢而导致节点误判元素已消失,是更安全的等待策略。
- 超时截图功能非常适合无人值守的自动化流程,能帮你快速定位问题发生时的页面状态。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

