Skip to content

流程控制节点

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

流程控制节点
流程控制节点

开始流程

是每条流程唯一的固定入口。新建流程时会自动添加,不能删除,也不会显示在左侧可添加节点列表中。

开始节点用于定义全局变量。这些变量会在流程开始时注入,并可供整条流程的下游节点使用。

从某个中间节点开始调试时,开始节点中的全局变量仍然会注入;中间节点之前的普通节点不会执行,它们的输出变量也不会产生。

分组

把一段普通线性操作收纳为一个可以排序的执行块。分组内的节点按显示顺序执行。

可以在分组中:

  • 拖入普通节点。
  • 调整组内节点顺序。
  • 编辑或删除子节点。
  • 为子节点设置异常时中断或跳过。
  • 把子节点拖回顶层画布。
  • 取消整个分组。

以下节点不能放入分组:

  • 开始流程。
  • 其他分组。
  • IF 条件。
  • For 循环元素、For 循环次数、For 循环数据和 While 循环。
  • 退出循环。

组内节点可以使用分组上游变量,也可以使用同一分组内排列在它之前的节点输出。

检查拖入后的主流程

顶层节点直接拖入分组时,该节点原有的关联边会被删除,编辑器不会自动补连原前驱和原后继。完成操作后应重新检查主流程连线。

一键分组的选择条件和限制见使用流程编辑器

分组节点操作
分组节点操作
编号功能说明
1取消分组取消当前分组,将节点移出分组,并保留节点顺序及连线。
2编辑分组名称修改当前分组的名称,方便识别。
3编辑/移动节点点击有配置的节点可编辑其配置;长按并拖动节点在分组内调整顺序。
4删除点击后可删除该节点。
5异常处理设置当前组内节点异常时中断或跳过,分组内单节点不能设置独立的异常分支,可通过分组异常处理实现。

IF 条件

读取系统变量或当前作用域内的流程变量,根据比较结果选择 TrueFalse 分支。

配置条件

IF 支持以下操作符:

操作符用途
存在 / 不存在判断变量是否有可用值,不需要比较值。
小于 / 小于等于数值或可比较内容小于目标值。
等于 / 不等于判断两边内容是否相同。
大于 / 大于等于数值或可比较内容大于目标值。
包含 / 不包含判断内容是否包含目标值。
在其中 / 不在其中判断变量是否属于目标集合。

存在不存在 外,其他操作符需要填写比较值,并按界面选择的比较类型处理。

条件节点中的变量用于读取已有值,不会创建同名输出变量。

连接分支

IF 没有隐式普通出口,必须同时连接:

  • True:条件成立时执行。
  • False:条件不成立时执行。

两个分支可以在后续普通节点合法汇合。嵌套 IF 也支持分支汇合,但所有分支都应保持完整、可识别的结构。

text
                 ┌→ True 分支  ─┐
开始流程 → IF 条件              → 汇合节点
                 └→ False 分支 ─┘

缺少任一分支时,保存和调试校验不会通过。

IF 条件配置和分支
IF 条件配置和分支
编号配置说明
1变量选择当前条件需要读取的系统变量或流程变量。
2操作符选择存在、等于、包含等判断方式。
3比较值除存在和不存在外,填写用于判断的目标值。

结构化循环的共通连线

For 循环元素、For 循环次数、For 循环数据和 While 循环使用相同的端口结构。

基本结构如下:

text
                  ┌── Loop Start → 循环体 ──┐
上游节点 → 循环节点                           │
                  └ ←──── Loop End ────────┘

                     └→ 循环结束后的节点

循环体必须回到 Loop End。把循环体直接连接到默认出口会破坏结构,并在保存或调试时提示错误。

结构化循环端口
结构化循环端口
编号端口作用连线规则
1主入口从上游进入循环。最多一条普通入口。
2Loop Start进入本轮循环体。最多一条出口连线。
3Loop 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

遍历对象或未知类型时,先用调试数据确认 loopItemloopIndex 的实际内容,再配置字段提取或页面操作。

While 循环

在条件成立时反复执行循环体。它使用与 IF 相同的变量和操作符,默认操作符为 存在

配置时需要明确:

  1. 读取哪个系统变量或流程变量。
  2. 使用什么比较操作符。
  3. 除存在/不存在外,要与什么值比较。
  4. 循环体中的哪个操作会让条件最终变为不成立。

避免无法结束的循环

如果循环体不会改变条件,While 可能持续执行,直到流程或任务超时。设计时应提供明确的退出条件,并设置合理的流程超时或单环境超时。

退出循环

在循环体中提前结束当前循环,不需要业务配置。

通常把它放在 IF 分支中:

text
循环体 → IF 已找到目标 ─True→ 退出循环
                    └False→ 继续处理 → Loop End

退出循环只能用于循环执行路径。它不能放入分组,也不应用作普通流程的终止节点。

关闭环境

关闭当前浏览器环境,并终止当前执行路径。节点本身没有业务配置。

连线规则:

  • 只能有一个普通入口。
  • 没有普通出口。
  • 仍可根据节点异常策略连接异常分支。

关闭环境适合在特定分支完成后立即结束,或在检测到需要停止的业务状态时清理当前环境。任务是否在正常完成后关闭浏览器,则由流程设置控制。

变量作用域

流程控制节点中的变量遵循执行路径:

  • IF 和 While 只能读取当前节点上游已经产生的变量。
  • 循环体可以读取循环节点产生的索引、当前项或提取值变量。
  • 计算循环头可用变量时,会忽略从 Loop End 回到循环节点的边,避免循环体后面的变量提前泄漏到循环头。
  • 分组子节点可以读取分组上游变量和组内更早节点的输出。
  • 同名变量由后定义的值覆盖先定义的值。

常见校验错误

IF 缺少分支

检查 TrueFalse 是否都已连接。即使某个条件暂时不需要操作,也要设计清晰的后续路径。

循环提示缺少回扣边

确认循环体末尾已连接回循环节点的 Loop End,而不是连接到主入口或默认出口。

循环体使用不到变量

检查当前节点是否确实位于 Loop Start 的下游,以及变量名是否与循环节点配置一致。

普通节点提示多个入口不合法

普通节点只有在完整 IF 分支合法汇合时才能接收多个普通入口。其他情况应调整结构,避免多条独立路径直接连入同一节点。

关闭环境后仍连接了节点

关闭环境是终止节点,不能连接普通出口。删除其后的连线,或把需要执行的操作移动到关闭环境之前。

相关内容