极奇策RPA技术教程:判断页面是否加载完成 (NodePageLoadComplete) - 自动化开发与配置详细指南

判断页面是否加载完成
📖 节点概述
检测当前浏览器标签页的文档加载状态(document.readyState),判断页面是否已完全加载(complete)。节点提供两种工作模式:
- 数据模式:返回布尔值(加载完成/未完成)和当前状态字符串,并继续执行后续流程。
- 分支模式:根据加载是否完成,分别触发“已加载完毕”或“未加载完毕”执行分支,实现条件路由。
💡 使用场景:
- 前置条件检查:在执行元素操作前,确认页面已完全加载,避免因资源未就绪导致操作失败。
- 流程分支:根据页面加载状态走不同逻辑(如加载完成则继续,未完成则刷新重试或结束流程)。
- 轮询监控:配合循环节点,周期性检查页面是否加载完成,适用于单页应用(SPA)路由切换后的等待。
- 容错处理:设置重试次数和间隔,应对网络波动或慢加载情况。
🎮 实战连线指南
节点默认对当前活动标签页生效,也可通过 Tab 引脚指定特定标签页。
场景一:数据模式(判断结果作为数据输出)
- 触发检查:将前置节点的
Exec连接到此节点的Exec输入。 - 配置控件:关闭“条件分支输出”(默认关闭)。
- 连接输出:
Exec输出继续连接后续节点(无论加载是否完成都会触发)。加载完成(BOOL)和当前状态(STRING)可连接到下游节点,用于条件判断或日志记录。
- 设置重试(可选):若页面加载较慢,可设置“重试次数”和“等待间隔”,节点将在超时前多次检测。
场景二:分支模式(根据加载状态分流)
- 开启分支:勾选“条件分支输出”控件。
- 连接分支:
- 若页面加载完成,触发
已加载完毕执行端口。 - 若未完成,触发
未加载完毕执行端口。
- 若页面加载完成,触发
- 异常处理:勾选“忽略报错”后,即使检测异常也不会中断流程,而是触发“未加载完毕”分支。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | 控制流入口,触发后开始检测页面加载状态。 |
| Tab | TAB | (可选) 指定操作的标签页,不连则使用当前活动标签页。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 条件分支输出 | 开关 | 开启后,节点切换为分支模式,移除Exec、加载完成、当前状态 输出,改为 已加载完毕 和 未加载完毕 两个执行端口。 |
| 重试次数 | 数字 | 页面未加载完成时,额外尝试检测的次数。总检测次数 = 重试次数 + 1。设为 0 表示只检测一次。 |
| 等待间隔(秒) | 数字 | 每次重试之间的等待时间(秒)。 |
| 忽略报错 | 开关 | 开启后,若检测过程中发生异常(如标签页已关闭),不会抛出错误,而是直接视为“未加载完毕”(分支模式)或继续触发Exec(数据模式)。 |
📤 输出引脚
数据模式(条件分支输出关闭)
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | 检测完成后的执行信号(无论加载完成与否)。 |
| 加载完成 | BOOL | True 表示页面已加载完成,False 表示未完成或检测失败。 |
| 当前状态 | STRING | 最后一次检测到的document.readyState 值(如 "complete"、"interactive"、"loading")。 |
分支模式(条件分支输出开启)
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 已加载完毕 | EXEC | 当页面加载完成时触发(readyState === "complete")。 |
| 未加载完毕 | EXEC | 当页面未加载完成或检测失败时触发。 |
🔧 工作原理
- 收到
Exec信号后,获取目标标签页(或当前活动标签页)。 - 通过 CDP(Chrome DevTools Protocol)执行
document.readyState获取当前加载状态。 - 若状态为
"complete",视为加载完成。 - 若未完成,根据“重试次数”和“等待间隔”反复检测,直到超时或状态变为完成。
- 根据工作模式输出相应的执行流和数据。
⚠️ 注意事项
- 分支模式 vs 数据模式:两者互斥,根据“条件分支输出”控件切换。切换后节点端口会自动调整,无需手动删除/添加连线。
- 重试次数为 0:仅执行一次检测,若未完成即判定为失败。
- 忽略报错:开启后,若标签页意外关闭或检测超时,节点会以“未加载完毕”状态继续流程,避免流程崩溃。
- SPA 应用:对于单页应用(如 Vue/React 路由切换),
document.readyState可能不会变为"complete"(因为资源已预先加载)。此时建议结合其他节点(如等待元素出现)进行判断。 - 性能注意:频繁检测会占用少量 CPU,建议根据实际场景合理设置间隔(一般 0.5~2 秒)。
💎 小贴士:
- 分支模式适合“加载成功则继续,否则执行备用逻辑”的场合。
- 数据模式适合需要将加载状态传递给后续节点(如记录日志或作为条件分支的数据源)。
- 若页面中存在大量异步资源(如图片、广告),建议配合【等待页面加载完成】节点(该节点可等待网络空闲)以获得完全加载的判断。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

