在线提交需求

请留下您的联系方式,我们的专家将在 24 小时内与您沟通。

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

极奇策技术团队更新于 2026-08-300 阅读

image.png

等待元素出现

📖 节点概述

多功能等待节点,可根据多种条件暂停流程,直到页面上的目标元素满足你设定的条件。支持等待元素出现、消失、变为可见、可点击,甚至可以通过自定义 JavaScript 实现任意条件判断。节点会周期性检查页面,在超时前如果条件满足,流程从“成功”出口继续;超时则走“失败”出口,避免持续等待。

💡 使用场景

  • 动态内容就绪:等待异步加载的搜索结果、商品列表出现后,再开始抓取数据。
  • 加载状态监控:等待页面上的“加载中”遮罩或旋转图标消失,表示数据加载完成。
  • 按钮可操作:等待“提交”按钮变为可点击状态(灰色变亮、验证码通过),再执行点击。
  • 自定义校验:通过自定义 JS 条件,例如检查页面中某个全局变量是否已定义,或页面高度达到指定值。
  • 元素数量确认:要求至少匹配 N 个元素,确保列表完整加载。

🎮 实战连线指南:如何正确使用它?

节点默认操作当前活动标签页。你需要提供一个元素定位器(CSS 或 XPath),然后选择要等待的条件。节点会根据条件自动显示或隐藏一些辅助参数(如最少匹配个数、包含文本、属性检查等)。执行时,节点会反复检查元素状态,一旦满足条件或超时,便从对应出口继续流程。

场景案例:等待搜索结果列表出现并至少包含 5 条数据

  1. 导航到搜索页:使用【访问网址】进入搜索结果页面。
  2. 配置等待:将导航完成的 Exec 输出连接到【等待元素出现】的 Exec 输入。
    • “元素定位”填入每个搜索条目的选择器,如 .search-item
    • “等待条件”选择 元素出现
    • 此时节点下方会出现“最少匹配个数”输入框,将其设为 5(确保至少 5 条结果加载出来)。
  3. 处理结果:将 成功 出口连接到后续的【网页元素内容提取】节点,抓取标题和链接。将 失败 出口连接到【显示通知】,提示“搜索结果加载超时”。
  4. 执行:流程会反复检查页面上 .search-item 的数量,一旦大于等于 5 就立即放行;如果 15 秒后仍不满足,则走失败分支。

场景案例:等待页面加载遮罩消失

  1. 定位遮罩元素:找到加载动画的选择器,如 .loading-spinner
  2. 切换条件:“等待条件”选择 元素消失
  3. 执行:节点会不断尝试定位该元素。一旦该元素消失(或隐藏、零尺寸),条件立即满足,流程继续。无需填写最少个数、文本等参数。

场景案例:使用自定义 JS 等待特定状态

  1. 切换条件:“等待条件”选择 自定义JS条件,此时会出现“自定义JS”多行输入框。
  2. 编写判断函数:例如检查是否某个全局变量 window.__dataReady === true,函数返回 true 即表示条件满足。函数会接收到当前元素对象和匹配个数作为参数。
  3. 执行:节点会反复执行这个 JS 函数,直到返回真值。

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
ExecEXEC控制流入口,触发后开始等待。
TabTAB(可选) 指定操作的标签页,不连则使用当前活动标签页。
元素定位LOCATOR要监控的目标元素定位表达式。等待元素消失时仍需提供,节点会检测该元素是否还存在。支持备选定位列表。

⚙️ 控件参数

控件名称类型说明
等待条件下拉选择决定等待的具体目标:<br>• 元素出现:元素在 DOM 中存在。<br>• 元素消失:元素不存在或隐藏/零尺寸。<br>• 元素可见:元素在页面上可见(非隐藏、有尺寸)。<br>• 元素可点击:可见且未被 disabled,且可接收指针事件。<br>• 自定义JS条件:执行自定义判断函数,返回 true 时满足。
超时(ms)数字(高级) 单次等待的超时毫秒数,默认 15000。
间隔(ms)数字(高级) 检查元素状态的频率,默认 200ms。
重试数字(高级) 超时后自动重新等待的次数,默认 2。总等待时间 ≈ 超时 × (重试+1)。
忽略报错开关(高级) 开启后,超时时不抛出异常,而是自动从“失败”出口继续。

⚙️ 动态参数(根据等待条件自动显示/隐藏)

参数名称显示条件说明
最少匹配个数元素出现/可见/可点击要求至少匹配到多少个元素(默认1),例如设为5表示必须存在5个同类元素。可通过连线传入。
包含文本元素出现/可见/可点击要求匹配的元素文本内容必须包含指定字符串。
属性=值元素出现/可见/可点击例如输入class=active,则要求元素拥有该属性且值匹配。
自定义JS自定义JS条件输入一个函数体,接收el(当前元素)和 count(匹配个数)作为参数,返回 true/false。可直接访问全局变量。

📤 输出引脚

引脚名称数据类型说明
成功EXEC等待条件满足时触发。
失败EXEC超时且开启“忽略报错”时触发。否则会抛出异常。
元素对象ANY成功时输出首个匹配元素的内部对象标识,可用于调试或高级操作。
是否超时BOOL流程结束时是否发生了超时。False 表示成功。

💎 小贴士

  • 如果你需要等待多个不同条件,可以串联多个本节点,每个设置不同的等待条件和定位器。
  • “元素消失”条件不需要填写“最少匹配个数”等辅助参数,节点会自动判断元素是否从 DOM 中消失或变为不可见。
  • 自定义 JS 条件提供了灵活性,可以检查页面状态,比如某个变量的值、网络请求状态等。
  • 建议根据页面实际加载速度调整“超时”和“重试”次数,避免过短导致误判或过长导致流程卡顿。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部