Appearance
流程控制节点
流程控制节点决定流程从哪里开始、走哪一条分支、重复哪些操作以及何时结束。本页包含全部 9 个流程管理节点。

开始流程
是每条流程唯一的固定入口。新建流程时会自动添加,不能删除,也不会显示在左侧可添加节点列表中。
开始节点用于定义全局变量。这些变量会在流程开始时注入,并可供整条流程的下游节点使用。
从某个中间节点开始调试时,开始节点中的全局变量仍然会注入;中间节点之前的普通节点不会执行,它们的输出变量也不会产生。
分组
把一段普通线性操作收纳为一个可以排序的执行块。分组内的节点按显示顺序执行。
可以在分组中:
- 拖入普通节点。
- 调整组内节点顺序。
- 编辑或删除子节点。
- 为子节点设置异常时中断或跳过。
- 把子节点拖回顶层画布。
- 取消整个分组。
以下节点不能放入分组:
- 开始流程。
- 其他分组。
- IF 条件。
- For 循环元素、For 循环次数、For 循环数据和 While 循环。
- 退出循环。
组内节点可以使用分组上游变量,也可以使用同一分组内排列在它之前的节点输出。
检查拖入后的主流程
顶层节点直接拖入分组时,该节点原有的关联边会被删除,编辑器不会自动补连原前驱和原后继。完成操作后应重新检查主流程连线。
一键分组的选择条件和限制见使用流程编辑器。

| 编号 | 功能 | 说明 |
|---|---|---|
| 1 | 取消分组 | 取消当前分组,将节点移出分组,并保留节点顺序及连线。 |
| 2 | 编辑分组名称 | 修改当前分组的名称,方便识别。 |
| 3 | 编辑/移动节点 | 点击有配置的节点可编辑其配置;长按并拖动节点在分组内调整顺序。 |
| 4 | 删除 | 点击后可删除该节点。 |
| 5 | 异常处理 | 设置当前组内节点异常时中断或跳过,分组内单节点不能设置独立的异常分支,可通过分组异常处理实现。 |
IF 条件
读取系统变量或当前作用域内的流程变量,根据比较结果选择 True 或 False 分支。
配置条件
IF 支持以下操作符:
| 操作符 | 用途 |
|---|---|
| 存在 / 不存在 | 判断变量是否有可用值,不需要比较值。 |
| 小于 / 小于等于 | 数值或可比较内容小于目标值。 |
| 等于 / 不等于 | 判断两边内容是否相同。 |
| 大于 / 大于等于 | 数值或可比较内容大于目标值。 |
| 包含 / 不包含 | 判断内容是否包含目标值。 |
| 在其中 / 不在其中 | 判断变量是否属于目标集合。 |
除 存在 和 不存在 外,其他操作符需要填写比较值,并按界面选择的比较类型处理。
条件节点中的变量用于读取已有值,不会创建同名输出变量。
连接分支
IF 没有隐式普通出口,必须同时连接:
True:条件成立时执行。False:条件不成立时执行。
两个分支可以在后续普通节点合法汇合。嵌套 IF 也支持分支汇合,但所有分支都应保持完整、可识别的结构。
text
┌→ True 分支 ─┐
开始流程 → IF 条件 → 汇合节点
└→ False 分支 ─┘缺少任一分支时,保存和调试校验不会通过。

| 编号 | 配置 | 说明 |
|---|---|---|
| 1 | 变量 | 选择当前条件需要读取的系统变量或流程变量。 |
| 2 | 操作符 | 选择存在、等于、包含等判断方式。 |
| 3 | 比较值 | 除存在和不存在外,填写用于判断的目标值。 |
结构化循环的共通连线
For 循环元素、For 循环次数、For 循环数据和 While 循环使用相同的端口结构。
基本结构如下:
text
┌── Loop Start → 循环体 ──┐
上游节点 → 循环节点 │
└ ←──── Loop End ────────┘
│
└→ 循环结束后的节点循环体必须回到 Loop End。把循环体直接连接到默认出口会破坏结构,并在保存或调试时提示错误。

| 编号 | 端口 | 作用 | 连线规则 |
|---|---|---|---|
| 1 | 主入口 | 从上游进入循环。 | 最多一条普通入口。 |
| 2 | Loop Start | 进入本轮循环体。 | 最多一条出口连线。 |
| 3 | Loop End | 从循环体回到循环头。 | 至少一条回扣边,可以接收多个循环体分支。 |
| 4 | 默认出口 | 循环结束后继续主流程。 | 最多一条,也可以不连接。 |
For 循环元素
使用选择器遍历页面中的匹配元素,每轮处理一个元素。
每轮可以选择:
- 不提取内容。
- 提取文字。
- 提取 DOM 对象。
- 提取 iframe。
- 提取源码。
- 提取指定属性。
- 提取指定子元素。
默认当前值变量为 loopValue,默认索引变量为 loopIndex。循环体中的节点可以使用这些变量。
例如,逐个读取商品卡片文字:
text
For 循环元素 → 获取或处理 ${loopValue} → Loop End需要直接点击当前元素时,可以提取 DOM 对象,再让循环体中的点击元素节点使用该元素对象变量。
For 循环次数
按指定正整数重复循环体。默认循环次数为 3,默认索引变量为 loopIndex。
循环次数可以直接填写正整数,也可以引用流程变量。变量在运行时应能解析为有效正整数。
适用场景:
- 固定重试若干次。
- 翻页指定次数。
- 按配置次数重复输入或检查。
无限重试不适合使用固定次数循环。应设置合理次数,并结合异常策略或条件判断结束流程。
For 循环数据
遍历数组、对象或未知类型变量。默认当前项变量为 loopItem,默认索引变量为 loopIndex。
常见数据来源包括:
- 开始节点中的数组变量。
- 导入 Excel 素材保存的全表数组。
- JSON 解析或字段提取得到的数组、对象。
- 上游请求响应中的列表。
例如,逐个访问网址数组:
text
For 循环数据 → 访问 ${loopItem} → Loop End遍历对象或未知类型时,先用调试数据确认 loopItem 和 loopIndex 的实际内容,再配置字段提取或页面操作。
While 循环
在条件成立时反复执行循环体。它使用与 IF 相同的变量和操作符,默认操作符为 存在。
配置时需要明确:
- 读取哪个系统变量或流程变量。
- 使用什么比较操作符。
- 除存在/不存在外,要与什么值比较。
- 循环体中的哪个操作会让条件最终变为不成立。
避免无法结束的循环
如果循环体不会改变条件,While 可能持续执行,直到流程或任务超时。设计时应提供明确的退出条件,并设置合理的流程超时或单环境超时。
退出循环
在循环体中提前结束当前循环,不需要业务配置。
通常把它放在 IF 分支中:
text
循环体 → IF 已找到目标 ─True→ 退出循环
└False→ 继续处理 → Loop End退出循环只能用于循环执行路径。它不能放入分组,也不应用作普通流程的终止节点。
关闭环境
关闭当前浏览器环境,并终止当前执行路径。节点本身没有业务配置。
连线规则:
- 只能有一个普通入口。
- 没有普通出口。
- 仍可根据节点异常策略连接异常分支。
关闭环境适合在特定分支完成后立即结束,或在检测到需要停止的业务状态时清理当前环境。任务是否在正常完成后关闭浏览器,则由流程设置控制。
变量作用域
流程控制节点中的变量遵循执行路径:
- IF 和 While 只能读取当前节点上游已经产生的变量。
- 循环体可以读取循环节点产生的索引、当前项或提取值变量。
- 计算循环头可用变量时,会忽略从
Loop End回到循环节点的边,避免循环体后面的变量提前泄漏到循环头。 - 分组子节点可以读取分组上游变量和组内更早节点的输出。
- 同名变量由后定义的值覆盖先定义的值。
常见校验错误
IF 缺少分支
检查 True 和 False 是否都已连接。即使某个条件暂时不需要操作,也要设计清晰的后续路径。
循环提示缺少回扣边
确认循环体末尾已连接回循环节点的 Loop End,而不是连接到主入口或默认出口。
循环体使用不到变量
检查当前节点是否确实位于 Loop Start 的下游,以及变量名是否与循环节点配置一致。
普通节点提示多个入口不合法
普通节点只有在完整 IF 分支合法汇合时才能接收多个普通入口。其他情况应调整结构,避免多条独立路径直接连入同一节点。
关闭环境后仍连接了节点
关闭环境是终止节点,不能连接普通出口。删除其后的连线,或把需要执行的操作移动到关闭环境之前。