
影刀RPA新手教程创建第一个子流程完全指南——从主流程拆出一段逻辑小明做了一个流程打开一个B2B网站登录搜索商品把价格复制到Excel。流程跑得好好的但代码越写越长。光是打开网页等待加载输入账号输入密码点击登录等首页出现就占了十几个指令节点。流程拉直了看像一根面条。你能不能把这些打包起来他问我。“比如把登录那一段做成一个方块主流程里只剩一个方块干净整洁。”能。这就带他动手。安装与配置理解项目结构影刀一个项目就是一个.flow文件。点开这个文件左侧面板会显示主流程和若干子流程。主流程是入口只能有一个。子流程可以有无数个每个都是独立的画布。新建子流程的方法左侧面板右键点击项目名选新建子流程输入名称。弹出一个空白画布和主流程的画布长一模一样。变量与数据类型子流程的独立空间新建的子流程有自己的变量空间。你可以在子流程里创建变量user_name、password、login_url它们只在子流程内部有效。主流程里如果有同名变量完全不受影响。井水不犯河水。这就是变量作用域的概念。变量的可见范围被限定在它被创建的那个流程里。想要突破这个限制必须通过参数传递。网页自动化把登录操作拆出来我们看看原来主流程里登录的那段逻辑打开网页 - https://www.example.com/login 等待元素出现 - //input[nameusername] 点击元素 - //input[nameusername] 输入文本 - admin 点击元素 - //input[namepassword] 输入文本 - 123456 点击元素 - //button[typesubmit] 等待元素出现 - //div[classhome-icon]一共8个节点。下面我们把这8个节点搬到一个子流程里。创建子流程右键三步走拼多多店群自动化上架方案第一步在左侧项目管理面板右键项目名选新建子流程。第二步输入名称。“子流程_登录”——以子流程_开头是个好习惯一眼就能区分主流程还是子流程。第三步在新建的空白画布上拖入上面那8个指令。和写主流程完全一样。拖完之后单独运行测试一下。右键子流程名选运行此子流程看能不能正常登录。我当初不知道子流程也能单独运行测试每次都是跑整个主流程调一个登录就要跑完后面所有步骤。后来发现这个功能调试效率直接乘以三。XPath与CSS元素定位要稳定子流程里用的XPath和CSS选择器一定要稳定。因为子流程会被多个流程调用运行环境可能不一样。比如登录页的用户名输入框。录制的XPath可能是//input[id“username_20250101”]——后面的日期是动态生成的第二天id就变了定位就失败了。更稳定的XPath写法//input[placeholder“请输入用户名”]。placeholder属性不容易变。CSS选择器也可以input[placeholder“请输入用户名”]。稳定性的经验优先用文本相关的属性placeholder、title、aria-label其次用class最后才用id。id最容易变。流程控制登录成功后怎么通知主流程子流程登录成功了主流程怎么知道答案是输出参数。在子流程的属性面板里添加一个输出参数login_success类型选布尔值。在子流程的最后一步用设置变量指令把login_success设为True登录成功或者False登录失败。主流程调用子流程后用If判断如果 login_success True: 继续采集数据 否则: 日志输出登录失败 结束流程在主流程里调用子流程回到主流程画布拖入调用子流程指令。在弹出的配置窗口里选择要调用的子流程“子流程_登录”。如果没有输入参数就留空。有输出参数的话勾选接收返回值选一个主流程里的变量来接收。比如创建一个主流程变量叫login_ok然后让它接收子流程的login_success返回值。运行主流程执行到调用子流程那一行时会自动跳到子流程去执行执行完了再跳回主流程继续。数据处理把子流程的多个返回值存起来子流程可以同时有多个输出参数。比如登录子流程不光返回登录是否成功还返回登录后的session_token会话令牌。在子流程属性面板添加第二个输出参数session_token类型选字符串。在子流程里登录成功后从页面cookie里读取token值赋值给session_token。主流程调用子流程时同时接收login_success和session_token两个返回值。进阶技能子流程内调用子流程前面说了子流程可以调用子流程。登录子流程里面如果遇到验证码可以再调用一个子流程_识别验证码。结构就变成主流程 - 子流程_登录 - 子流程_识别验证码三层调用一层套一层。影刀完全支持没有层数限制。不过个人建议嵌套不要超过3层。超过3层调试起来很痛苦遇到报错不好定位。TEMU店群如何管理运营平台实战完整拆解一个流程动手做一遍。假设你的主流程是电商数据日报包含三大块登录、采集、发送。第一步把登录拆出来做成子流程_登录。第二步把采集数据拆出来做成子流程_采集数据。第三步把发送报告拆出来做成子流程_发送报告。原来的主流程可能有40个节点拆完后只有3个节点调用 子流程_登录调用 子流程_采集数据调用 子流程_发送报告每个节点后面放一个日志输出记录执行时间和结果。调试的时候一目了然。鼠标键盘与图像子流程中的交互操作如果登录网站弹出广告弹窗子流程里需要处理关弹窗的操作。“元素截图定位广告上的关闭按钮的XPath。如果XPath定位不到广告弹窗常用图片做关闭按钮就用等待图片出现” 鼠标点击的组合。子流程里放图像操作需要注意图像模板文件要用相对路径还是绝对路径。建议用相对路径把模板图片放在项目文件夹下这样换机器也能找到。工程化规范子流程的目录管理项目里的子流程多了之后要分层分目录。建议的项目结构登录层子流程_登录淘宝、子流程_登录京东、子流程_登录拼多多操作层子流程_翻页、子流程_截图、子流程_填表单数据层子流程_提取价格、子流程_提取评论、子流程_写入Excel通知层子流程_发飞书消息、子流程_发邮件、子流程_发短信层次清晰新人接手项目就能顺藤摸瓜搞清楚结构。home.linyan.cloud上有人分享过自己的项目结构模板可以参考。常见报错与解决“子流程未发布”子流程修改后需要保存并发布才能被其他流程调用。右键子流程名选发布就好。“调用子流程无响应”检查子流程里是否有断点没有清除。断点会阻止流程继续执行。“子流程变量未定义”子流程里用了主流程的变量。只能在子流程里用子流程自己的变量或者通过参数传进来。#影刀RPA #RPA教程 #影刀新手教程 #子流程 #自动化设计 #流程封装 #RPA开发作者林焱