【新手必看】一个案例学会火语言 RPA三大循环: For循环/ForEach循环/While循环

39 阅读5分钟

要理清火语言 RPA 中 For 循环、ForEach 循环、While 循环 的区别,我们以「采集目标页面(www.woshipm.com/u/1516977) 16 页文章标题并保存到 Excel」为案例,逐一拆解它们的特性、适用场景和实现逻辑。

6072a381-7a31-4170-a510-c53d6707c26a.png

一、三大循环总览对比

循环类型核心逻辑适用场景案例适配性
For 循环基于次数 / 范围循环(如 “循环 16 次”)已知明确循环次数(如固定页数、列表长度)适合 “16 页” 这类明确次数的场景
ForEach 循环基于集合元素遍历(如 “遍历列表中每个 URL”)需逐个处理集合内的元素(如列表、数组)适合后续 “遍历采集到的标题列表”
While 循环基于条件是否成立循环(如 “存在下一页则循环”)未知循环次数,由条件动态控制(如翻页按钮是否存在)适合 “不确定页数,靠元素存在性判断”

二、案例

场景:以目标页面 www.woshipm.com/u/1516977 (共 16 页)为例,分别用三种循环实现 “采集所有标题→保存到 Excel”。

(一)For 循环

核心逻辑:按 “固定次数” 循环 16 次,已知总页数为 16,直接循环 16 次,每次采集当前页标题 + 点击下一页。

实现步骤:

组件1:列表打开或新建,新建空列表用于用于存储所有标题,默认list1。

1add8d61-f82d-4d01-8eb2-5daf93f6fd21.png 组件2:打开浏览器,选择浏览器类型。

e44a63d2-e369-4404-a0c2-b25c522ad5d9.png 组件3:浏览网页,输入需要采集的网址URL:www.woshipm.com/u/1516977

b8b9555f-aa46-44ac-8d89-c7a22441655b.png 组件4:For循环,按固定次数循环。
i赋值:1
循环条件:i16
单次循环结束执行:i++

313f2795-4ed3-488a-b1a8-d79786724a27.png 组件5:获取多元素信息/属性值,获取当前页面所有标题,
目标元素: .post--card__title, 属性值:textContent,输出到变量标题
输出到标题

c2367346-9210-40fc-bba5-d0c19a8f49f5.png 组件6:列表合并,将所有标题进行合并到list1

7625dae0-c956-4964-80e6-6a96e13be8d2.png 组件7:条件判断,最后一页是没有下一页按钮的,所以增加条件判断,前15页,点击下一页按钮;第16页,不执行鼠标/元素点击。

79da1195-52f9-4066-bb2b-2fe7bd861976.png 组件8:鼠标/元素点击,点击下一页按钮

48a025cd-9765-4bf6-bbc6-3fe54baa8607.png 组件9:Excel打开文档,新建空的Excel用于存储数据。

cb793e9d-225a-42ca-93e1-933fa3830eb8.png 组件10:Excel写入内容,将list1的内容写入Excel

d5db9604-590e-4df7-904c-64e0f9211ce4.png 组件11:关闭浏览器。

三大循环—For循环案例分享:

分享: www.huoyuyan.com/share.html?… 提取码: mfKN

(二)While 循环

核心逻辑:不依赖固定次数,通过 “下一页按钮是否存在” 判断是否继续循环

实现步骤:

组件1:列表打开或新建,新建空列表用于用于存储所有标题,默认list1。

9535d6a2-2d0d-4dc6-a960-4411fad7189f.png 组件2:打开浏览器,选择浏览器类型。

4d66b869-c8a4-439b-858d-a9cf90c40d7f.png 组件3:浏览网页,输入需要采集的网址URL:www.woshipm.com/u/1516977

2fc8eded-cfc0-47f1-a720-ca098edcaeb2.png 组件4:变量赋值,设置一个变量下一页按钮(布尔值类型变量,控制循环启停),初始值:true(初始化为 “存在”,让循环能启动);

8a517e54-c259-4f0c-846d-711107a32c81.png 组件5:While循环,按照下一页按钮===true进行循环,采集当前页文章标题

5ed0efcc-2b75-4899-9803-223880859160.png 组件6:获取多元素信息/属性值,获取当前页的标题,输出到变量:while循环标题

576a7c2c-6976-4e05-a068-68f905333204.png 组件7:列表合并,将每一页的while循环标题合并到list1

d371fab2-e6fd-4907-9f4f-97968c2eee8b.png 组件8:检测元素是否存在,检测下一页按钮是否存在,输出到变量检测元素是否存在

1106f0ec-cda8-4171-a182-6b7d1886dbca.png 组件9:变量赋值,将上一步输出的变量检测元素是否存在,通过赋值到变量下一页按钮,进行条件判断

b571b466-d672-4dec-b3d4-d2de25bf8d92.png 组件10:条件判断,如果变量下一页按钮存在,则进行点击下一页按钮

e66e41ce-7302-45c3-b884-5d1b9ef03110.png 组件11:鼠标/元素点击,点击下一页按钮

befdba0f-51a3-42f0-be04-7482b1c4c606.png 组件12:Excel打开文档,新建空的Excel用于存储数据。

7d083b1d-3568-46ae-aa7c-647f24d894e5.png 组件13:Excel写入内容,将list1的内容写入Excel

4b6a206b-5424-48bb-b71a-1cce0cf7c3f0.png 组件14:关闭浏览器。

三大循环—While循环案例分享:

分享: www.huoyuyan.com/share.html?… 提取码: PxCP

(三)ForEach 循环

核心逻辑:遍历 “采集到的 URL 列表” 逐个处理。先采集所有页面的 URL(共 16 页),再用 ForEach 遍历每个 URL,单独打开页面采集标题。

实现步骤:

采集所有页面 URL:先用 For循环 或 While 循环采集 16 页的 URL,存储到列表 list1,可以参见上两个流程,这里不做过多讲解。

2aa04cdb-8f4a-4cd4-9aa4-986905777800.png 组件1:列表打开或新建,新建list2表格

083d4b63-c438-4c9a-be5e-f3df4f33233b.png 组件2:ForEach 循环,遍历list1中所有的URL网址

037ada65-57b0-4c5e-8168-7c22f88e4574.png 组件3:浏览网页,打开当前 URL,遍历item

f793ac94-4309-4d0c-92ed-4528c0b1ee23.png 组件4:获取单元素信息/属性值,获取每篇文章的标题,输出到变量文章标题

cf9078f3-24c0-4918-bc8b-3e4a2c0ecd04.png 组件5:列表添加一项,将文章标题添加到list2

05003b0b-c9b4-48a6-9bc5-f54939706b95.png 组件6:睡觉等待,这里设置了暂定等待,等待页面加载

0b10c8df-9ed3-4ac0-9f1d-80f74481dfb0.png 组件7:Excel打开文档,新建空的Excel用于存储数据。

a56e5869-1e06-44cb-8b92-af56b6b86830.png 组件8:Excel写入内容,将list2的内容写入Excel

fcd403f1-87f5-431a-aed4-65010fa3c682.png 组件9:关闭浏览器。

三大循环—ForEach循环案例分享:

分享: www.huoyuyan.com/share.html?… 提取码: R7ew

三、案例总结:何时用哪种循环?

若页数固定(如明确 16 页)→ 选 For 循环,简单直接。
若页数不固定(或需自适应)→ 选 While 循环,灵活可靠。
若需逐个处理集合元素(如先拿 URL 再逐个采集)→ 选 ForEach 循环,解耦性强。