影刀RPA新手教程:流程规划完全指南——怎么把一个复杂任务拆成小块
影刀RPA新手教程流程规划完全指南——怎么把一个复杂任务拆成小块有一次一个学员给我看他的流程画布上有87个指令节点从左边拖到右边要滚好几屏。鼠标滚轮都滚坏了。“跑得通吗”“能跑但每次改一个地方都要找半天。经常改错了前面的也崩了。”我说“你这属于把大象塞进了冰箱。很大一个工程但你忘了开门。”安装与配置流程设计的前置知识写流程之前先理清几个概念主流程只有一个是整套流程的入口。主流程只负责调度不负责具体执行。子流程可以有多个每个负责一个具体任务。子流程内部写具体操作。变量作用域主流程的变量子流程看不见子流程的变量主流程也看不见。数据只能通过参数传递。理解这三个概念流程规划就成功了一半。另一半是什么是养成先想后写的习惯。案例主线电商数据日报这是一个真实的业务场景每天早上8点自动采集淘宝、京东、拼多多三个平台的商品销量数据汇总成一个Excel报表发到管理者飞书上。如果一上来就打开影刀开始拖指令大概率会失败。正确做法是先画一张草图。第一步把任务写在纸上不要急着打开影刀。拿张纸把整个任务写成一句话“采集三个电商平台的数据汇总成日报发飞书。”然后把这一句话拆成更小的步骤登录平台采集数据处理数据清洗、汇总、生成报表发送通知这就是自顶向下的拆解方法。从最高层的目标开始一层一层往下拆。拼多多店群自动化报活动上架我在公司培训新人时让他们先画流程图再写代码。开始他们嫌麻烦后来发现随便画两笔能省两小时调试时间。变量与数据类型设计好数据怎么流转流程规划不只是拆步骤还要设计数据怎么流转。数据日报的数据流是这样的采集阶段输出的数据 - 一张临时表列表格式处理阶段读取临时表 - 清洗汇总 - 生成汇总表发送阶段读取汇总表 - 转成Markdown消息 - 发飞书每两个阶段之间的交接数据要定义清楚采集子流程输出products_list列表每个元素是一个字典[{platform:淘宝,name:蓝牙耳机,sales:1234,date:2025-06-26},{platform:京东,name:蓝牙耳机,sales:987,date:2025-06-26}]处理子流程输入products_list输出summary_dict字典{total_sales:2221,platforms:[淘宝,京东],top_product:蓝牙耳机,![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6035ac58355e4da0b4acd727f0b0b470.png#pic_center)report_date:2025-06-26}网页自动化采集子流程的设计采集子流程是核心。三个平台的结构不同但流程逻辑一样每个平台采集子流程内部打开平台网址等待数据面板加载循环提取每一行数据存入列表变量翻下一页重复直到最后一页关键指令打开网页打开数据平台的地址等待元素出现等待数据表格加载完成获取相似元素定位所有商品行ForEach循环逐行提取数据点击翻页按钮CSS选择器button.next-page如果平台需要登录采集子流程开头调用子流程_登录就可以了。XPath与CSS选择器稳定的元素定位采集数据最重要的就是元素定位要稳定。数据面板的表格结构一变化整个流程就废了。以淘宝数据为例定位商品名称CSS选择器.product-item .product-nameXPath//div[contains(class,“product-item”)]//span[class“product-name”]用contains做模糊匹配比精确匹配稳定。class名可能是product-item active精确匹配就找不到了。我有个采集流程跑了半年没改过元素定位就是因为我选的都是最通用的class名不依赖会变的部分。流程控制用主流程串起一切主流程只做指挥不做事。长这样步骤1调用 子流程_登录三个平台共用登录 步骤2调用 子流程_采集淘宝数据 - 结果 - taobao_data 步骤3调用 子流程_采集京东数据 - 结果 - jd_data 步骤4调用 子流程_采集拼多多数据 - 结果 - pdd_data 步骤5调用 子流程_合并数据传入三个数据集 - 结果 - all_data 步骤6调用 子流程_生成日报传入all_data - 结果 - report_content 步骤7调用 子流程_发送飞书通知传入report_content主流程就是7个调用子流程节点。一眼就能看懂整个任务在做什么。如果周二只需要采淘宝和京东拼多多不用删掉步骤4就行了其他步骤不受影响。这就是拆分子流程的最大好处模块独立想加就加想删就删。数据处理合并与生成报表合并子流程做的是简单的列表拼接all_datataobao_datajd_datapdd_data但如果数据量大拼接前可以先对每个平台的数据做简单清洗去重同一个商品号不要出现两次格式化日期统一用YYYY-MM-DD格式补全某些字段缺失的给默认值生成日报子流程是用处理后的数据创建Excel文件。创建Excel的步骤新建Excel文件写入表头行平台、商品名、销量、日期逐行写入数据设置单元格格式加粗表头、数字居右保存文件进阶技能流程的扩展性设计好的流程规划要考虑以后会不会变。比如现在3个平台以后可能加第4个、第5个。设计技巧主流程不要写死平台数量。用一个平台配置表替代TEMU店群矩阵自动化运营核价报活动platforms[{name:淘宝,url:https://...},{name:京东,url:https://...},{name:拼多多,url:https://...}]主流程里用ForEach循环遍历platforms列表动态调用子流程。加一个平台只需往配置里加一行不需要动任何流程代码。鼠标键盘与图像日报的截图附件生成的Excel报表有时还需要一张数据趋势图。影刀可以截取Excel图表区域保存为图片附在飞书通知里。用Excel截图指令选择Excel中图表所在的区域保存为png文件。飞书机器人发送图片消息时先上传图片到飞书服务器获取image_key再用image_key发送消息。具体的飞书图片消息格式home.linyan.cloud上有完整的调用示例。系统联动定时执行日报是每天早上跑的不需要手动触发。在影刀客户端配置定时任务每天8点执行。如果有多个步骤的依赖关系比如数据采集必须在登录之后生成日报必须在数据采集之后——这些都是流程内部的顺序定时任务只管几点开始跑。失败重试也配置一下如果8点执行失败10分钟后重试一次。重试3次后还失败发告警。工程化规范流程的目录结构项目文件夹按功能分层目录结构示例主流程日报总调度采集层采集淘宝、采集京东、采集拼多多处理层数据合并、数据清洗、生成报表通知层发送飞书通知通用层登录、翻页、截图每个子流程文件名前缀代表它所属的层。同一个层的子流程放在一起一目了然。常见报错与解决“采集的数据为空”检查登录是否成功网页数据是否正常加载。加一步判断数据是否存在的If判断如果为空就跳过或告警。“生成的Excel打不开”保存Excel时文件路径指定的文件夹可能不存在。保存前加新建文件夹指令确保路径存在。“飞书通知发送失败”检查Webhook是否过期。飞书群的机器人如果被删除Webhook就失效了。定期检查Webhook有效性。#影刀RPA #RPA教程 #影刀新手教程 #流程规划 #模块设计 #数据日报 #RPA架构作者林焱

相关新闻