影刀RPA实操教程:5个真实案例带你从入门到独立开发
影刀RPA实操教程:5个真实案例带你从入门到独立开发
光看教程不动手,永远学不会。
这篇文章用5个真实的项目案例讲完影刀RPA的核心知识,每个案例对应一组知识点,从简单到复杂递进,跟着做完能独立搭流程。
案例一:批量搜索关键词写入Excel
场景:有一个Excel,里面是100个关键词,需要逐个去百度搜索,把搜索结果的第一条标题和链接记录下来。
涉及知识:安装配置、Excel读取、基础网页操作、写入Excel
第一步:安装和配置
去 www.yingdao.com 下载Windows客户端,社区版免费。装完记得去Chrome装影刀插件,不然网页元素捕获会出问题。
界面布局:左侧指令区、中间流程编辑区、右侧属性配置区、底部日志区。
第二步:读Excel里的关键词
新建应用,拖一个"启动Excel"指令,打开你的关键词文件。
再拖"循环Excel内容",设置从第2行开始(第1行是表头)。循环时每个循环项loop_item是一行数据,取第一列用loop_item[0]。
第三步:操作浏览器搜索
在循环里:
- 用"打开网页"打开百度
- 用"输入文字"指令把
loop_item[0]填进搜索框 - 用"按键"指令模拟回车
- 等待结果页加载完(用"等待元素出现"比固定等待稳定)
捕获第一条搜索结果的标题元素,用"获取元素文本"拿到标题文字。
第四步:写结果回Excel
把拿到的标题和对应关键词写回Excel另一个Sheet。
"在单元格写入内容"指令,指定行(用循环次数变量)和列,把数据写进去。循环完保存Excel。
这个案例学到了:
- Excel读取和写入的完整流程
- For循环遍历数据
- 基础网页元素操作
- 等待策略的选择
案例二:小红书商品数据采集
场景:搜索某个关键词,采集前10页的笔记标题、作者名、点赞数,输出到Excel。
涉及知识:元素定位(XPath+CSS)、翻页处理、懒加载、异常处理
元素定位策略
小红书的笔记卡片用CSS选择器更简洁:
.note-item/* 笔记卡片 */.note-item .title span/* 标题文字 */.note-item .author .name/* 作者名 */.note-item .like-wrapper span/* 点赞数 */但点赞数有时候显示"1.2万"这种格式,记得做文本处理:
//span[contains(@class,'like-wrapper')]//span[last()]用XPath的last()取最后一个span,通常是数字。
拼多多店群自动化上架方案
翻页逻辑
小红书翻页按钮:最后一页时class里会多disabled或按钮不可见。
在无限循环里:
- 采集当前页所有笔记数据
- 检查"下一页"按钮状态
- 有
disabled就退出循环,没有就点击并等待下一页加载
懒加载处理
小红书搜索结果页是瀑布流懒加载,往下滚才能加载更多。
先滚动到页面底部(用"执行JS"window.scrollTo(0, document.body.scrollHeight)或点击页脚元素),等待新内容加载,判断元素数量不再增加后再翻页。
异常处理
偶尔会碰到登录弹窗、广告弹窗。在整个循环外套一层Try-Catch,Catch里关闭弹窗并继续执行。
无限循环(翻页){ Try { 采集当前页数据 判断翻页条件 点击下一页 } Catch { 处理弹窗/刷新页面 } }这个案例学到了:
- XPath和CSS选择器的实际选择逻辑
- 不确定总页数的翻页处理(disabled判断法)
- 懒加载的应对思路
- Try-Catch在网页自动化中的正确用法
案例三:电商价格监控,有变化就发飞书通知
场景:监控5个商品的价格,每天早上9点跑一次,如果任何一个商品降价超过10%,发飞书消息通知。
涉及知识:字典数据结构、JSON处理、HTTP请求、飞书联动、定时任务
存储上次价格:字典用法
用字典存商品ID和上次价格:
price_dict={'B09K3Q1RWV':299.0,'B08X7CSYJT':189.0,# ...}取值时用price_dict.get('B09K3Q1RWV', 0),找不到返回0而不是报错。
判断键是否存在:if 'B09K3Q1RWV' in price_dict。
实时价格获取:HTTP请求
部分电商平台有开放API,或者用网页采集。以API为例:
GET请求:
URL: https://api.example.com/price?sku_id=B09K3Q1RWV Headers: Authorization: Bearer {your_token}返回JSON:
{"code":200,"data":{"sku_id":"B09K3Q1RWV","price":259.0}}流程:发HTTP请求 → 用"文本转JSON"指令转换 → 取data.price字段 → 和字典里的上次价格比较。
发飞书通知
比较逻辑:如果(旧价格 - 新价格) / 旧价格 > 0.1,就触发通知。
飞书机器人POST请求:
{"msg_type":"text","content":{"text":"降价提醒:商品B09K3Q1RWV降价10%以上,当前价格259元(原价299元)"}}用"HTTP请求"指令,POST到飞书webhook地址,Body填上面的JSON。
定时任务配置
在影刀调度中心创建计划任务:
- 任务类型选"每天"
- 执行时间设为9:00
- 绑定这个应用
保持影刀客户端运行即可每天自动执行。
这个案例学到了:
- 字典的创建、取值、键存在判断
- JSON字符串和字典对象的互转
- HTTP GET/POST请求的完整用法
- 飞书消息通知集成
- 定时任务配置
案例四:批量处理发票图片,OCR提取关键信息
场景:一个文件夹里有100张发票图片,需要提取每张发票的金额、日期、开票方,写入Excel。
涉及知识:文件操作、OCR识别、正则提取文本、Python协同处理
遍历文件夹
用"获取文件夹内文件"指令,得到文件夹内所有图片的路径列表。ForEach循环遍历列表,每次处理一个文件。
OCR识别
影刀内置OCR服务,支持通用文字识别:
- 用"截图(文件)"指令,把图片路径传入
- 用"OCR识别文字"指令,选"通用文字识别"类型
- 得到识别结果文本字符串
发票OCR的结果通常是多行混在一起的文本,需要从里面提取特定字段。
正则提取关键信息
用Python代码块做正则匹配:
importredefmain(args):text=args['ocr_text']# 提取金额(匹配"¥数字.数字"或"合计金额:数字")amount_match=re.search(r'(?:¥|合计金额[::])(\d+\.?\d*)',text)amount=amount_match.group(1)ifamount_matchelse''# 提取日期(匹配yyyy年mm月dd日)date_match=re.search(r'(\d{4}年\d{1,2}月\d{1,2}日)',text)date=date_match.group(1)ifdate_matchelse''return{'amount':amount,'date':date}在Python指令里定义def main(args):,输入参数名args,return返回字典。
数据写入Excel
把提取的金额、日期、开票方写入Excel对应行。用行号变量作为写入的行坐标,每处理一个文件,行号加1。
这个案例学到了:
- 文件夹遍历和文件路径操作
- OCR识别的完整流程
- Python代码块:def函数、正则、返回字典
- 第三方库(re是内置库,影刀Python环境自带)
案例五:ADB手机自动化,自动签到抢积分
场景:某APP每天有签到功能,自动打开APP,点签到按钮,截图保存记录。
涉及知识:ADB手机连接、元素定位(手机)、图像识别、定时自动执行
连接手机
TEMU店群如何管理运营?
手机开USB调试(设置→开发者选项→USB调试),用数据线连电脑。
在影刀里用"连接手机"指令,连接名自定义,比如"我的手机"。
session=xbot.mobile.connect_by_custom_name('我的手机')打开APP
用"启动手机APP"指令,填应用包名(在手机设置→应用信息里查)。
等待APP主页面加载完成,用"等待手机元素出现"指令。
元素定位(手机)
手机元素定位支持多种方式:
- 默认:用影刀捕获手机元素(和网页捕获类似,点选)
- text:
session.find_by_text('签到')按文字找 - accessibility_id:按无障碍ID找
- xpath:手机XPath格式是
/hierarchy/android.widget.FrameLayout/...
点击签到
找到签到按钮元素,用"点击元素(手机)"指令点击。
如果弹出签到成功的弹窗,用find或条件判断处理掉。
截图保存记录
importxbotfromxbotimportprint,sleepfrom.importpackagedefmain(args):session=xbot.mobile.connect_by_custom_name('我的手机')session.screenshot('D:\\签到记录\\')截图文件名会根据时间自动生成,比如20260617_090015.png。
整合定时任务
在调度中心设置每天早上8:58执行,整个签到流程2分钟内完成,8:58开始9:00准时签到。
这个案例学到了:
- ADB手机连接和基本操作指令
- 手机元素的多种定位方式
- screenshot截图保存
- 定时任务和手机自动化的配合
工程化:让这5个案例都能稳定跑
5个案例跑通之后,还要让它们稳定运行,几个共同要做的事情:
子流程封装:每个案例里的"写入Excel"部分逻辑是复用的,封装成子流程,输入数据列表和起始行,输出写入完成。
命名规范:流程名用"动词+对象",变量名用英文功能描述。比如流程叫"采集小红书数据",变量叫current_page_data。
版本选择:5个案例社区版全能跑。如果要多台机器同时跑,或者需要权限管理,考虑企业版。
调试习惯:出问题先打断点,在"调试变量"面板看变量实际值,确认是数据问题还是逻辑问题,再针对性修。
常见报错速查
| 案例场景 | 报错 | 原因 | 解决 |
|---|---|---|---|
| Excel操作 | Can not convert Array to String | loop_item取了整行 | 改为loop_item[0] |
| 网页采集 | 元素未找到 | 页面未加载/有弹窗 | 加等待/处理弹窗 |
| HTTP请求 | JSON解析失败 | 返回的不是标准JSON | 打印原始返回值排查 |
| Python代码 | import失败 | 库未安装到影刀环境 | 用影刀的pip装 |
| 手机操作 | 连接失败 | USB调试未开/驱动问题 | 检查开发者选项和驱动 |
5个案例做完,基本上日常工作里80%的自动化需求都有能力实现了。
想要这5个案例的完整流程模板,可以在 home.linyan.cloud 找到汇总资源。
#影刀RPA #实操教程 #案例驱动 #数据采集 #自动化教程
作者:林焱