影刀RPA操作实战系列——手把手带你完成「循环Excel内容 + 批量发货 + 回写结果」通关题。
unsetunset这道题在考什么?unsetunset
很多朋友在学习影刀RPA初级课程Excel操作自动化的时候,卡在了最后一节的操作题上。不是不会单个指令,而是不知道怎么串起来。
这道题的核心逻辑只有一句话:
读 Excel 清单 → 逐个搜索并批量发货 → 结果写回 Excel
题目要求:
- 逐一在商城搜索,将所有订单全部确认发货(含多页处理)
- 每个商品发货完成后,在 Excel 对应行写入"已全部发货"
unsetunset整体流程结构unsetunset
先看全貌,再讲重点:
步骤1-3 打开Excel、写入表头、获取网页对象步骤4 【循环Excel内容】从第2行循环到末尾 步骤5 提取商品名称变量 步骤6-7 填写搜索框 → 点击查询 步骤8-9 获取订单总页数 步骤10 【For次数循环】按页处理 步骤11-13 循环点击确认发货 + 确认弹窗 步骤15-17 IF判断:非最后一页则翻页 步骤18 写回Excel:当前行B列 ← "已全部发货"步骤21 关闭Excel(保存)
下面讲几个关键步骤,简单的配置自己对着操作就能完成。
unsetunset关键步骤详解unsetunset
1. 循环Excel内容——注意结束行填 -1
新建流程后,先打开Excel、获取网页对象,这两步照常配置即可。
重点在循环Excel内容的参数设置:
-1 是影刀的特殊写法,代表"读到最后一行",数据有几行就循环几次,不用手动填数字。
2. 提取商品名称——用设置变量单独存一下
循环体内第一步,用设置变量把商品名称单独存出来:
商品名称 = loop_excel[0]
loop_excel[0] 表示当前循环行的第一列(A列)值。单独存成变量,后续引用更方便,也更直观。
3. 动态获取订单页数——这是本题最巧妙的设计
搜索完订单后,订单可能有多页,需要逐页处理。关键是怎么知道一共有几页?
用「获取相似元素列表」抓取分页器文本:
影刀商城分页器的结构长这样:[<] [1] [2] [3] [>]
把"下一页"按钮的相似元素文本列表全部取出来,存为 页码_list,它的内容类似:
['1', '2', '3', '>']
然后取 页码_list[-2](倒数第二个)就是最大页码数,存为 page_num。
💡 这个 [-2] 的技巧很实用——不管有几页,倒数第二个永远是总页数。
4. For循环翻页 + IF判断是否到最后一页
用 For次数循环(从1到page_num)来逐页处理:
- 每页:循环点击所有"确认发货"按钮 → 点击弹窗"确定"
- 每页处理完后:IF判断
loop_index 不等于 page_num,如果不是最后一页就点"下一页"
IF:loop_index ≠ page_num 点击"下一页"按钮End IF
为什么要加这个IF?如果不判断,最后一页处理完还会去点"下一页",直接报错。加上判断,到最后一页就停,干净利落。
5. 写回Excel——行号用 num 精准定位
所有页处理完毕后(For循环结束,仍在Excel循环体内),写入结果:
指令:写入内容至Excel工作表
num 就是循环Excel时记录的行号变量,第一个商品在第2行就写B2,第二个在第3行就写B3,不会错位。
最后记得加关闭Excel指令(选择关闭并保存),不然结果不会写入文件。
unsetunset运行结果unsetunset
流程跑完后,Excel 变成这样:
unsetunset小结unsetunset
这道题的核心是两个嵌套循环:
加上 页码_list[-2] 动态取总页数、num 行号精准写回,这套组合在电商批量操作、表单自动填报、数据采集等场景都能直接套用。
遇到问题欢迎在评论区留言,我们一起搞定!
觉得有用的话,转发给同样在学RPA的朋友 👇
关注本公众号,持续更新影刀RPA实战教程,从通关题到真实项目。