尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

影刀RPA新手教程:子流程参数传递完全指南——怎么把数据传进去,把结果传出来

影刀RPA新手教程:子流程参数传递完全指南——怎么把数据传进去,把结果传出来
📅 发布时间:2026/6/30 21:28:15

影刀RPA新手教程:子流程参数传递完全指南——怎么把数据传进去,把结果传出来

小刘做了个商品价格监控流程。淘宝、京东、拼多多,每个平台都是一个子流程,主流程里依次调用。

但他遇到一个问题:想让每个子流程自动去查不同的商品,而不是写死在流程里。比如今天查"蓝牙耳机",明天查"充电宝",每次要手动改子流程里的搜索关键词。

"参数传进去就行了。"我说。

“参数?怎么传?”

安装与配置:参数在哪里配置

每个子流程都有两个参数配置区:输入参数和输出参数。

输入参数是"别人给你的"——调用方传给子流程。
输出参数是"你给别人的"——子流程返回给调用方。

在子流程的属性面板最上方,有输入参数和输出参数两个标签页。点"添加参数",填写参数名、参数类型、默认值。

输入参数的类型有:字符串、数字、布尔值、列表、字典。类型要匹配,传字符串的地方不能传数字。

我吃过类型不匹配的亏:传了一个数字123当搜索关键词,影刀自动转成了字符串"123",结果搜索"123"搜不到东西,调试了半小时才发现。

变量与数据类型:传数字还是传字符串

先来说清楚数据类型。影刀支持的参数类型有5种:

字符串:文本类型,比如"蓝牙耳机"、“https://www.taobao.com”
数字:整数或小数,比如100、3.14
布尔值:True或False,一个表示"是/否"的值
列表:一组数据的集合,比如[“耳机”,“充电宝”,“数据线”]
字典:带标签的键值对,比如{“name”:“耳机”,“price”:99}

参数类型必须精确对应。在子流程的输入参数配置里,类型选了"字符串",调用方传进来的值就应该是引号括起来的文本。

案例主线:商品价格查询子流程

我们的目标是做一个通用子流程,接收商品URL,返回商品价格。

主流程用的时候:

  • 传入:https://item.taobao.com/item.htm?id=123456
  • 返回:149.00

换成另一个商品也能用,不需要改动子流程任何代码。

设置输入参数

打开子流程属性面板,在输入参数标签页点"添加参数"。

拼多多店群自动化报活动上架!

参数名:product_url
参数类型:字符串
默认值:空(留空或者填一个测试用的URL)
参数描述:要查询价格的商品页面URL

参数名称很重要!这是你以后在子流程里使用和外部调用时要引用的名字。命名规范:全小写英文+下划线,见名知义。product_url、user_email、start_date这样。

在子流程里使用输入参数

参数设好后,在子流程的指令节点里就能用了。

比如"打开网页"指令,URL参数填:product_url。影刀会自动取输入的参数值。注意,这里填的是参数名,不是具体的网址。

打开网页 -> product_url

子流程运行时,传入的是淘宝商品A的链接,它就打开商品A。传入的是京东商品B的链接,它就打开商品B。

这就是参数化的核心好处:同一段代码,不同输入产生不同结果。

网页自动化:根据URL打开商品并提取价格

商品页面打开后,等价格元素出现,然后用XPath提取价格文字。

等页面加载:等待元素出现 -> XPath: //span[@class=“price”]

提取价格:获取元素文本 -> 用同样的XPath,结果保存到price_text变量。

price_text可能是"¥149.00",需要清洗:去掉¥符号,转换成数字。

用Python指令处理更简单:

price_text=GetVar("price_text")price=float(price_text.replace("¥","").replace(",",""))SetVar("price_clean",price)

float()是把文字转成数字的函数。replace替换¥和逗号,得到纯数字字符串,再转成数字类型。

设置输出参数

价格取到了,现在返回给主流程。

在子流程属性面板的输出参数标签页,添加参数:

参数名:product_price
参数类型:数字
参数描述:商品的价格,单位元

在子流程最后一步,用"设置变量"指令,把计算好的price_clean赋值给product_price。

注意:product_price是输出参数变量,它是一个特殊的变量,子流程执行完后会把这个值传回主流程。

XPath与CSS选择器:提取不同网站的通用做法

淘宝、京东、拼多多的价格元素XPath肯定不一样。怎么让子流程通用?

方案一:输入参数不只传URL,还传XPath。

输入参数多加一个:price_xpath。主流程在调用时一起传入。

打开网页 -> product_url 等待元素出现 -> price_xpath 获取元素文本 -> price_xpath -> 保存到price_text

每个平台的调用方传递不同的XPath:

  • 淘宝://span[@class=“price”]
  • 京东://span[@class=“p-price”]/span
  • 拼多多://div[@class=“price-box”]/span

方案二:子流程内部用If判断自动匹配。

获取当前网页域名 -> domain 如果 domain 包含 "taobao":用淘宝的XPath 如果 domain 包含 "jd":用京东的XPath 如果 domain 包含 "pinduoduo":用拼多多的XPath

方案一更灵活,方案二更方便(调用方不用管XPath细节)。实际选哪个看场景。

流程控制:在主流程里调用并使用返回值

主流程调用子流程的配置:

  • 选中指令:“调用子流程”
  • 选择子流程:“子流程_获取商品价格”
  • 输入参数product_url:填入变量taobao_url(值为具体商品链接)
  • 输出参数product_price:保存到变量taobao_price

调用完成后,taobao_price变量里就是商品的价格了。接下来可以用If判断:

如果 taobao_price < 100: 日志输出"价格低于100元,值得买" 写入Excel标注"可入手"

数据处理:一次传多个参数

有些子流程需要多个输入。比如不只是查价格,还要查库存、评分。

输入参数可以加多个:

  • product_url:商品URL
  • extract_fields:要提取的字段列表[“price”, “stock”, “rating”]

在子流程里用ForEach循环遍历extract_fields:

ForEach field in extract_fields: 如果 field == "price":提取价格 如果 field == "stock":提取库存 [video(video-yq6uxu8B-1782670859992)(type-csdn)(url-https://live.csdn.net/v/embed/526817)(image-https://v-blog.csdnimg.cn/asset/1d3c3709da119dd8c13ab01e9b282520/cover/Cover0.jpg)(title-TEMU店群矩阵自动化运营核价报活动)] 如果 field == "rating":提取评分

输出参数也可以是一个字典,把多个返回值打包在一起:

result={"price":149.00,"stock":328,"rating":4.8}SetVar("product_info",result)

进阶技能:参数校验

输入参数不一定合法。URL可能是空字符串,或者格式不对。

在子流程开头加校验:

如果 product_url 是空 或者 product_url 不包含"http": 日志输出"无效的URL" 设置输出参数为错误码 直接结束子流程

用"结束流程"指令提前退出子流程。这样主流程能收到一个明确的错误信号,而不是执行到一半报一个莫名其妙的错。

系统联动:价格低于阈值时发通知

价格查出来了,如果低于目标价格,发飞书通知。

主流程里调用子流程获取价格后:

如果 product_price <= target_price: 调用子流程_发飞书通知 输入参数: message = "商品" + product_name + "当前价格" + to_string(product_price) + "元,低于目标价" + to_string(target_price) + "元"

飞书通知子流程接收一个message字符串做输入参数,内部调用飞书Webhook。具体的Webhook配置可以在home.linyan.cloud上找到模板。

工程化规范

参数命名规范很重要。子流程多了之后,参数名一乱,调用的时候就分不清。

推荐命名规则:

  • 输入参数用英文小写+下划线,语义清晰
  • product_url、target_price、extract_fields、timeout_ms
  • 注意加上单位提示,比如timeout_ms(单位毫秒),避免第一个人写秒第二个人写毫秒

参数描述一定要填。影刀支持在参数配置里写描述文字,将来调用时会显示在下拉提示中。

常见报错与解决

“参数类型不匹配”:传字符串给数字参数,或者反过来。严格按参数定义的类型传值。

“输出参数未赋值”:子流程执行完了但输出参数还是默认值。检查子流程内部有没有"设置变量"指令给输出参数赋值。

“参数未传递”:主流程调用子流程时,某个输入参数忘了填值。检查调用配置,确保所有参数都设了。

#影刀RPA #RPA教程 #影刀新手教程 #子流程 #参数传递 #流程封装 #RPA开发

作者:林焱

相关新闻

  • 量子粒计算:从经典到量子的信息处理范式迁移
  • 一文搞懂正向代理与反向代理
  • 含零代码SAAS、AI编程、源码定制交付

最新新闻

  • 大厂必考 Binder 底层:in/out/inout/oneway 关键字、IPC 性能差异满分解析
  • Windows 11 点击“电源和电池”设置直接闪退?罪魁祸首竟然是Sensor Service!
  • Windows Defender深度控制架构设计与系统级安全策略管理实现
  • 第一次学 volatile 关键字,我看了三遍才搞懂它到底在干嘛
  • E-Hentai下载器完整指南:如何轻松批量下载并打包图片资源
  • Ansible自动化运维实战:从入门到精通,轻松管理服务器集群

日新闻

  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号