跳转到内容

等待页面加载

等待页面加载 用于等待当前页面达到指定加载状态。它适合放在打开网页、导航到 URL、刷新网页或点击后发生页面跳转的位置,帮助后续点击、输入、读取更稳定。

指令标识:WaitPageState
指令类型:网页指令
指令描述:等待页面加载完成

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

方式怎么用适合人群
可视化编排(推荐先学)拖入「等待页面加载」节点,在表单里设置加载状态、超时时间大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 bots.waitPageState(loadState="LOAD")熟悉代码、需要复用脚本或批量生成流程的用户

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

等待页面加载
  • 打开网页后,先等待页面完成初始加载。
  • 点击菜单、分页、查询按钮后,页面发生整体跳转或刷新。
  • 刷新页面后,等待新内容加载完成。
  • 后续要读取页面标题、URL 或页面级内容。

如果下一步要操作某个具体按钮、输入框或列表区域,通常还需要再接 等待元素存在,因为页面加载完成不等于目标元素一定已经出现。

  • 当前已经有浏览器页面。
  • 上一步确实会触发页面加载、跳转或刷新。
  • 如果页面是长连接、轮询或持续请求的单页应用,谨慎使用 NETWORKIDLE
  • 页面加载完成后,仍建议用关键元素验证业务状态。
  1. 打开网页导航到 URL刷新网页 或会触发跳转的 点击元素 后添加 等待页面加载
  2. 普通页面默认选择 LOAD
  3. 如果只需要 DOM 元素可操作,可以选择 DOMCONTENTLOADED
  4. 如果页面依赖异步请求加载数据,可以尝试 NETWORKIDLE,但不要把它当成所有页面的默认选择。
  5. 设置超时时间,例如 30000ms

一个跳转类 RPA 可以这样配置:

  1. 打开网页:进入目标网站。
  2. 点击元素:点击导航入口或查询按钮。
  3. 等待页面加载:等待页面达到 LOADDOMCONTENTLOADED 状态。
  4. 等待元素存在:等待跳转后的关键区域出现。
  5. 获取文本:读取页面结果。
界面名称代码属性名类型必填默认值说明
加载状态loadStateEnumLOAD页面等待状态:LOAD(加载完成)、DOMCONTENTLOADED(构建DOM树之后、样式加载完成之前)、NETWORKIDLE(网络空闲)。
等待可选项waitForLoadStateOptionsJSON-高级选项。等待加载状态的高级配置,可设置超时时间(timeout,单位毫秒)等。

该指令没有业务输出变量,主要作用是等待当前页面状态变化。是否成功应通过运行日志、后续等待元素节点或读取结果判断。

状态适合场景注意事项
LOAD普通页面跳转、打开新页面、刷新页面最通用,适合新手默认选择
DOMCONTENTLOADED只需要 DOM 结构可用,不必等图片等资源更快,但页面数据可能还没完全渲染
NETWORKIDLE点击查询后等待异步请求基本结束长连接、轮询页面可能等不到;系统会做超时兜底
  • 等待节点执行成功,没有超时错误。
  • 页面不再处于明显加载中、白屏或跳转中。
  • 后续等待元素、点击、输入或读取节点能继续执行。
等待页面加载
现象可能原因处理建议
等待超时页面加载慢、网络异常、目标站点无响应先手动打开页面确认可访问,再适当调大超时时间
NETWORKIDLE 经常超时页面有长连接、轮询或持续请求改用 LOADDOMCONTENTLOADED,再接等待元素
等待成功但后续找不到元素页面状态到了,但业务内容还没渲染在后面增加等待元素存在
页面跳转到登录页或错误页登录态失效、权限不足、被重定向检查账号、环境和 URL

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

bots.openUrl(url="https://example.com")
# 等待页面加载状态:loadState 支持 LOAD / DOMCONTENTLOADED / NETWORKIDLE
bots.waitPageState(loadState="LOAD")
# 如需自定义超时,可通过 waitForLoadStateOptions 配置
bots.waitPageState(
loadState="LOAD",
waitForLoadStateOptions='{"timeout": 30000}',
)

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

Q1:不同的加载状态有什么区别?

Section titled “Q1:不同的加载状态有什么区别?”

A: LOAD 等待页面 load 事件,DOMCONTENTLOADED 等待 DOM 结构完成,NETWORKIDLE 等待网络进入相对空闲状态。

A: 新手默认选 LOAD。如果页面很重但目标元素很快出现,可以选 DOMCONTENTLOADED 后再等待元素;如果确实要等异步请求完成,再考虑 NETWORKIDLE

A: 可以通过「等待可选项」(waitForLoadStateOptions)中的 timeout 配置超时时间,防止页面加载异常时无限等待。

Q4:页面加载成功是不是代表元素一定能操作?

Section titled “Q4:页面加载成功是不是代表元素一定能操作?”

A: 不是。页面加载状态是浏览器层面的信号,目标按钮或列表可能还在异步渲染。关键操作前仍建议使用 等待元素存在