第 07 课 · 用变量计数
做 N 次——N 在运行时选定,而不是焊死在流程里。
问题
点 Collect 三次。明天,五次。流程不该变——只有数字变。
本课引入所有重复型自动化赖以站立的机器:一个 Loop(循环)、一个计数变量,和一个由操作者启动时填写的 Flow Input。
你将学到
- Loop / Loop End 区域:循环体重复执行,路由自动生成。
- 用 Variable(变量)节点计数(
collected = collected + 1)。 - 声明 Flow Input——用
{{target_count}}作循环次数。 - 随机节奏,让重复不像机器。
- 把一个值写进运行日志。
开始之前
- 完成第 06 课。
流程
这个流程比一张舒服的截图更高,所以这里用全缩放分成两半来看。徽标按阅读顺序给节点编号,与下面的动手构建步骤一一对应。

进入循环:① Start ② 重复 {{target_count}} 次的 Loop ③ Click ④ 加 1 的 Variable ⑤ 让节奏像人的 Wait。

离开循环:① 计数器自增节点与 ② Wait 再次出现(为了接上上下文),然后 ③ Loop End —— 编辑器替你创建的节点 —— ④ 记录总数的 Variable,以及 ⑤ 成功结局。
动手构建
- 新建流程。声明两个变量:
collected— number,默认0。target_count— number?,默认3,Input ✓,Required ✓,描述How many times to collect this run。
- 添加 Loop,命名
1. Repeat {{target_count}} times:模式 Count,Max iterations{{target_count}}——没错,这里可以用变量引用。配对的 Loop End 自动出现。 - 循环体按序:Click 点 Collect 按钮 → Variable
3. Add 1 to the counter,一行 Add to it:collected+1→ Wait 用 random 模式,800–1300ms,理由pace between taps。 - 在 Loop End 上设 Aggregation: iteration count——循环会汇报实际跑了几轮。
- Loop End 之后:一个 Variable 节点,一行 Show in run log 打印
collected,然后Stop: success · Collection loop finished。 - 按图连线——注意没有任何回边要画:Loop/Loop End 区域自动生成重复路由。
- Save,Auto Layout。
每一块的用意
| 部件 | 角色 |
|---|---|
| Loop(count 模式) | 每轮开始前决定循环体是否再跑 |
用 {{target_count}} 当次数 | 重复次数按次到达,由操作者提供 |
| Variable +1 | 流程对自身进度的记忆 |
| 随机 Wait | 每轮重掷 800–1300 ms——重复不再像节拍器 |
| Loop End 聚合 | 实际跑了几轮的独立证据 |
| 日志行 | 把 collected 放进你看得到的运行日志 |
Flow Input 把流程变成函数。 因为 target_count 声明为 input,Run 表单每次运行前都会询问(默认 3 预填)。同一个已保存流程可以跑 3、5 或 20 次——不用编辑。在第 11 课里,父流程将以编程方式把这个值传进来。
循环自己会数,为何还用 Variable 计数? 两个理由。计数变量活过循环——汇报节点在 Loop End 之后读它。而且它数的是你选择的东西:毕业设计里,计数器只在成功收集时递增,而轮数无论如何都在走。轮数和成果是两个不同的数字。
这里每轮花一次点击加约 1 秒节奏。target_count = 20 时约 20 秒——没问题。但同样的乘法作用于你放进循环体的每个慢节点。要有意识地为循环做预算,并记住循环内执行的节点数也计入流程的 maxNodeExecutions 上限。
运行
运行流程——Run 表单询问 target_count。接受 3。预期:三次点击、间隔约一秒,日志显示 collected = 3,以 success · Collection loop finished 结束。
再用 5 跑一次。五次点击。同一个流程。