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

一、三大循环总览对比
| 循环类型 | 核心逻辑 | 适用场景 | 案例适配性 |
|---|---|---|---|
| For 循环 | 基于次数 / 范围循环(如 “循环 16 次”) | 已知明确循环次数(如固定页数、列表长度) | 适合 “16 页” 这类明确次数的场景 |
| ForEach 循环 | 基于集合元素遍历(如 “遍历列表中每个 URL”) | 需逐个处理集合内的元素(如列表、数组) | 适合后续 “遍历采集到的标题列表” |
| While 循环 | 基于条件是否成立循环(如 “存在下一页则循环”) | 未知循环次数,由条件动态控制(如翻页按钮是否存在) | 适合 “不确定页数,靠元素存在性判断” |
二、案例
场景:以目标页面 https://www.woshipm.com/u/1516977 (共 16 页)为例,分别用三种循环实现 “采集所有标题→保存到 Excel”。
(一)For 循环
核心逻辑:按 “固定次数” 循环 16 次,已知总页数为 16,直接循环 16 次,每次采集当前页标题 + 点击下一页。
实现步骤:
组件1:列表打开或新建,新建空列表用于用于存储所有标题,默认list1。

组件2:打开浏览器,选择浏览器类型。

组件3:浏览网页,输入需要采集的网址URL:https://www.woshipm.com/u/1516977

组件4:For循环,按固定次数循环。
i赋值:1
循环条件:i≤16
单次循环结束执行:i++

组件5:获取多元素信息/属性值,获取当前页面所有标题,
目标元素: .post--card__title, 属性值:textContent,输出到变量标题
输出到标题

组件6:列表合并,将所有标题进行合并到list1

组件7:条件判断,最后一页是没有下一页按钮的,所以增加条件判断,前15页,点击下一页按钮;第16页,不执行鼠标/元素点击。

组件8:鼠标/元素点击,点击下一页按钮

组件9:Excel打开文档,新建空的Excel用于存储数据。

组件10:Excel写入内容,将list1的内容写入Excel

组件11:关闭浏览器。
三大循环—For循环案例分享:
(二)While 循环
核心逻辑:不依赖固定次数,通过 “下一页按钮是否存在” 判断是否继续循环
实现步骤:
组件1:列表打开或新建,新建空列表用于用于存储所有标题,默认list1。

组件2:打开浏览器,选择浏览器类型。

组件3:浏览网页,输入需要采集的网址URL:https://www.woshipm.com/u/1516977

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

组件5:While循环,按照下一页按钮===true进行循环,采集当前页文章标题

组件6:获取多元素信息/属性值,获取当前页的标题,输出到变量:while循环标题

组件7:列表合并,将每一页的while循环标题合并到list1

组件8:检测元素是否存在,检测下一页按钮是否存在,输出到变量检测元素是否存在

组件9:变量赋值,将上一步输出的变量检测元素是否存在,通过赋值到变量下一页按钮,进行条件判断

组件10:条件判断,如果变量下一页按钮存在,则进行点击下一页按钮

组件11:鼠标/元素点击,点击下一页按钮

组件12:Excel打开文档,新建空的Excel用于存储数据。

组件13:Excel写入内容,将list1的内容写入Excel

组件14:关闭浏览器。
三大循环—While循环案例分享:
(三)ForEach 循环
核心逻辑:遍历 “采集到的 URL 列表” 逐个处理。先采集所有页面的 URL(共 16 页),再用 ForEach 遍历每个 URL,单独打开页面采集标题。
实现步骤:
采集所有页面 URL:先用 For循环 或 While 循环采集 16 页的 URL,存储到列表 list1,可以参见上两个流程,这里不做过多讲解。

组件1:列表打开或新建,新建list2表格

组件2:ForEach 循环,遍历list1中所有的URL网址

组件3:浏览网页,打开当前 URL,遍历item

组件4:获取单元素信息/属性值,获取每篇文章的标题,输出到变量文章标题

组件5:列表添加一项,将文章标题添加到list2

组件6:睡觉等待,这里设置了暂定等待,等待页面加载

组件7:Excel打开文档,新建空的Excel用于存储数据。

组件8:Excel写入内容,将list2的内容写入Excel

组件9:关闭浏览器。
三大循环—ForEach循环案例分享:
分享: https://www.huoyuyan.com/share.html?key=eyJhdXRvQ29kZSI6IkZhbHNlIiwia2V5IjoiYzcyZTkzMzYyZTI5NGM2NmIxOTFlODUyZWJiOTU3NDEifQ== 提取码: R7ew
三、案例总结:何时用哪种循环?
若页数固定(如明确 16 页)→ 选 For 循环,简单直接。
若页数不固定(或需自适应)→ 选 While 循环,灵活可靠。
若需逐个处理集合元素(如先拿 URL 再逐个采集)→ 选 ForEach 循环,解耦性强。
1097

被折叠的 条评论
为什么被折叠?



