影刀RPA新手教程:多流程协调完全指南——让一个流程跑完之后自动触发另一个

影刀RPA新手教程:多流程协调完全指南——让一个流程跑完之后自动触发另一个 影刀RPA新手教程多流程协调完全指南——让一个流程跑完之后自动触发另一个一、开篇一个流程不够用刚开始用影刀的时候我所有的逻辑都挤在一个流程里。打开网页、采集数据、清洗数据、生成报表、发送邮件……一个流程里塞了上百个步骤。每次改一个小地方都要加载半天而且只要一个步骤出错后面的全泡汤。后来同事告诉我你可以把流程拆开一个流程只做一件事然后用调用子流程把它们串起来。当时我感觉打开了新世界的大门。今天教你从零搭建多流程协调的自动化方案。二、安装与流程管理影刀安装官网下载Windows版默认安装勾选浏览器扩展。安装好之后打开影刀点击左侧我的流程就能看到所有已创建的流程。每个流程都是一个独立的文件可以单独编辑、单独运行、单独发布。流程列表页面有一些操作按钮新建流程、导入流程、导出流程、删除流程。多流程协调的关键指令是调用子流程和调用流程并等待返回。这两个指令在左侧指令列表的流程控制分类里可以找到。三、元素定位回顾虽然调用子流程不直接涉及元素定位但被调用的子流程里必然有元素操作。写子流程时元素定位的基本原则和主流程一样。XPath定位尽量用语义化的表达式//input[idsearch-box]比/html/body/div[3]/...靠谱。CSS选择器定位#search-box找id、.search-input找class、[data-typeprimary]找自定义属性。在每个子流程里独立捕获元素不要在流程之间共享元素对象。因为不同流程跑的时候浏览器会话不同共享元素对象会失效。四、变量与数据传递多流程协调的核心难点是数据怎么在流程之间传递。影刀提供了几种数据传递方式拼多多店群自动化报活动上架方式一调用子流程时传参数。在调用子流程指令里有一个输入参数配置区。你可以在主流程里定义参数子流程接收参数后处理处理完返回结果。方式二使用全局变量。在影刀的变量管理里把变量的作用范围设置为全局。全局变量可以在所有流程里访问适合存配置信息、Webhook地址等。方式三通过文件传递数据。流程A把数据写入一个Excel文件流程B读取这个Excel文件。这是最经典的方式。数据类型在传递时要注意数字传过去还是数字字符串传过去还是字符串列表传过去还是列表。五、流程控制调用子流程的核心指令影刀里协调多个流程的指令主要有以下几个“调用子流程”调用另一个流程并等它执行完毕再继续往下走。“调用流程并等待返回”调用子流程并获取它的返回值。“异步调用流程”调用另一个流程但不等待主流程继续往下走。这三种的选择如果流程B依赖流程A的结果用调用子流程如果流程B只是流程A的后续不需要等结果用异步调用如果你需要子流程处理完返回一个值用调用流程并等待返回拖指令到画布上双击选择要调用的流程名称即可。六、核心实战串行三流程现在做一个经典的三流程串行案例。流程A数据采集流程。打开网页登录抓取10个商品的数据保存到Excel。流程B数据处理流程。读取流程A保存的Excel计算汇总数据总销售额、平均值、TOP3把结果保存到另一个Excel。流程C报告发送流程。读取流程B保存的结果Excel格式化消息发送飞书通知。用调用子流程指令把三个流程串起来主流程调度流程只有三个步骤步骤1调用子流程选流程A_数据采集步骤2调用子流程选流程B_数据处理步骤3调用子流程选流程C_报告发送每个子流程独立开发和测试跑通后再串起来。这样做的好处是如果流程B报错流程A不受影响改完流程B单独重跑就行。七、数据处理文件作为桥梁在多流程协调中Excel文件是最常用的数据传递桥梁。流程A写入Excel的规范统一保存到固定路径如D:\RPA_Data\文件名带上日期和流程标识如data_采集_20240626.xlsx数据写入固定的工作表名称如原始数据流程B的读取规范从固定路径读取根据日期找到对应的文件先检查文件是否存在不存在就报错告警Python代码片段在执行Python代码指令里查找文件importos file_dirD:/RPA_Data/all_filesos.listdir(file_dir)today_fileNoneforfinall_files:if采集_today_strinf:today_filefile_dirfbreakiftoday_fileisNone:raiseException(今日采集文件不存在)这样流程B就能自动找到流程A今天创建的文件了。home.linyan.cloud上有更完整的多流程文件管理模板。八、进阶异步多流程并行有时候你需要让多个流程同时跑提高效率。比如同时从三个网站采集数据三个流程互不影响。用异步调用流程指令同时启动流程A、流程B、流程C。每个流程跑自己的网站采集完后各自保存到不同的Excel。等所有流程跑完再调用一个汇总流程合并数据。异步调用的注意事项异步流程之间不要写同一个文件异步流程不要用同一个浏览器窗口如果某个异步流程出错不会影响其他异步流程异步流程的日志是独立的需要分别查看九、平台实战一个完整的日报系统现在搭建一个完整的每日自动化日报系统。调度配置每天早上9:00触发流程结构主调度流程入口日志输出“日报系统开始运行”调用子流程数据采集调用子流程数据处理调用子流程报告生成调用子流程消息推送日志输出“日报系统运行完毕”子流程说明数据采集流程打开3个数据源网站依次采集销售数据、客户数据、库存数据分别保存到3个Excel文件。TEMU店群矩阵自动化运营核价报活动数据处理流程读取3个Excel文件做数据关联和汇总计算生成日报汇总表。报告生成流程根据汇总数据生成HTML格式的日报文件。消息推送流程把日报的摘要内容通过飞书和邮件发送给相关人员。每个子流程都包在Try-Catch里出错时发告警消息然后终止。十、系统联动多流程协调可以和更多系统联动。与API接口联动流程A请求外部API获取数据流程B处理API返回结果。与数据库联动流程A从数据库查询流程B写入处理结果。与审批系统联动流程A发送审批请求流程B等待审批结果后继续。执行来源的配置调用子流程时可以选择执行来源包括period计划、timer定时、apiAPI。机器人执行策略any任意空闲机器人、all全部机器人。十一、工程化规范多流程工程的工程化规范每个子流程职责单一只做一件事。子流程命名用类型_功能_版本格式如采集_百度热搜_v1。子流程之间通过固定路径的文件传递数据不通过全局变量。每个子流程独立测试独立部署。主调度流程只负责串联不写业务逻辑。每个子流程都包Try-Catch异常处理比单流程更重要。子流程的入参和出参要有文档注释。修改子流程时确保不影响其他依赖它的流程。十二、速查表流程调用指令速查调用子流程同步调用等待子流程执行完调用流程并等待返回同步调用并获取返回值异步调用流程异步调用不等待执行策略速查any随机选一台空闲机器人all所有机器人同时执行assign指定具体机器人group按机器人分组指定数据传递方式速查传参调用子流程时传递参数文件通过Excel/CSV/JSON文件传递全局变量通过全局作用域的变量传递数据库通过数据库表中转常见问题“子流程未找到”检查流程名称是否正确流程是否已发布“参数类型不匹配”检查传入参数和子流程定义的参数类型是否一致“子流程执行超时”子流程执行时间太长需要拆分或优化作者林焱#影刀RPA #RPA教程 #多流程 #子流程 #影刀新手 #自动化架构