影刀RPA新手教程:零基础入门完全指南——从下载安装到独立开发 影刀RPA新手教程零基础入门完全指南——从下载安装到独立开发小红书采集器第一次听说影刀RPA是在一个运营群里有人发了个截图早上9点脚本跑起来11点数据已经全采完写进Excel了人在睡觉。我当时的反应是这是什么东西。然后花了几天时间把整个流程走了一遍发现门槛没有想象中高。不需要会Python不需要懂前端只要能用鼠标点界面就能开始做东西。这篇文章就是当时我希望自己能读到的那种不绕弯子直接告诉你每一步怎么做坑在哪优先学什么。一、安装10分钟搞定环境去 www.yingdao.com 下载客户端选Windows版社区版免费够用。装好之后还要装浏览器插件这一步很多人忘掉后面捕获网页元素会报错。打开Chrome进扩展程序页搜影刀装上就行。Edge也一样。装好之后界面分四块左边是指令区所有操作指令在这里找中间是流程编辑区拖指令在这里搭右边是属性区选中指令后在这里填参数下面是日志区运行时的输出、报错都在这里第一次打开感觉信息很多别慌用多了自然熟。二、元素定位这是最值得花时间的部分我第一周大部分时间都卡在元素定位上。理解透了后面基本顺了。影刀定位网页元素有四种方式要一起掌握缺一不可。直接捕获点界面上的捕获新元素鼠标移到页面上的目标位置点击就抓到了。这是最简单的方式适合稳定不变的元素。捕获时可以加三种限制条件文本内容比如加入购物车这几个字、元素属性class或id、层级关系哪个父元素的第几个子元素。XPath定位遇到捕获不稳定的元素就上XPath。6种写法要会//div[classprice] # 精确属性匹配 //div[contains(class,item)] # 模糊匹配class //ul[idlist]/li[3] # 取第3个li //div[classrow]//span # 取所有后代span //span[text()确认] # 按文本匹配 //div[classchild]/parent::div # 向上找父元素文本匹配是XPath最大的优势CSS选择器做不到这件事。CSS选择器语法比XPath简洁性能也好一些8种常用写法.item-price/* class选择 */#submit-btn/* id选择 */.order .price/* 直接子元素 */.order .price/* 所有后代 */li:nth-child(2)/* 第2个li */![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c0a0e2ec3cf84596a6c72555fe530abc.png#pic_center)[data-id001]/* 属性匹配 */div.active.selected/* 多class */input[typetext]/* 属性值匹配 */选哪个简单场景用CSS需要文本匹配或向上查父节点就上XPath。正则表达式配合元素属性用三个核心场景属性值包含动态ID时用.*通配、多个关键词都要匹配时用(A|B)、配合全局变量动态替换时用变量名填正则位置。三、变量与数据跑通采集器的基础数字加减乘除直接用取整用int()包一下。字符串用方括号取索引text[0]取第一个字符用拼接。文本操作指令集提取文本、替换文本比Python的字符串方法用起来更直接。列表追加用追加元素到列表指令取值用下标遍历用ForEach循环。拼多多店群自动化报活动上架字典键不存在时有两个处理方案——一是用.get(key, 默认值)指定缺省值二是先用in判断键是否存在再取值。不处理的话会直接报错KeyError。JSON这是采集数据时必须会的链路HTTP请求返回字符串 → 用文本转换为JSON指令转成字典 → 按字典方式取值 → 用JSON转换为文本转回字符串写入Excel四、流程控制让程序跑起来采集器的骨架就是循环加判断。For次数循环跑固定次数翻多少页就设多少次。相似元素循环网页批量采集的核心。捕获一组相似元素比如商品列表里的所有商品行影刀会自动识别出几个然后逐个循环处理。ForEach列表循环有一个列表遍历每个元素处理。配合Excel读取一起用特别顺。While条件循环 无限循环不知道循环几次、要条件满足才停的场景。比如翻页翻到没有下一页为止。If判断条件为真执行A分支否则执行B分支。多条件用且/或组合。Try-Catch异常处理Try里放主逻辑Catch里放报错时的备用操作Finally里放不管成不成功都要执行的收尾动作。五、网页自动化采集器的核心技能等待策略三种会被坑别说我没提醒固定等待等N秒傻等能用但不优雅。等待元素出现等到某个元素出现了再继续适合页面加载慢的情况。等待元素消失等加载动画消失然后开始操作。推荐用等待元素出现/消失替代固定等待稳定性好很多。弹窗处理网页上的弹窗是新手第一个经典坑。标准5步流程等待弹窗出现等待元素出现判断弹窗类型确认弹窗/警告弹窗/自定义弹窗如果是浏览器原生弹窗用处理对话框指令如果是页面内自定义弹窗直接捕获按钮点击等待弹窗消失后再继续还有一种盲点弹窗——流程跑到一半突然出来个弹窗程序卡死。处理方法在大循环外套一层Try-CatchCatch里放处理弹窗逻辑兜底用。翻页知道总页数For次数循环循环里点下一页按钮。不知道总页数最常见场景查看下一页按钮的源码最后一页时这个按钮的class属性会多一个disabled。在无限循环里判断这个属性有disabled就退出循环。//a[contains(class,next-btn)] # 通用匹配能找到disabled状态和正常状态懒加载处理以聚水潭为例一页有50条订单但网页代码里只加载了屏幕内的16条。往下滚前面的就消失。官方文档给的解法是index去重法在循环里维护一个记录列表每次拿当前可见元素的index属性判断是否在记录列表里。没有就采集并记录有就跳过。同时每次循环后滚动鼠标直到记录列表长度达到50为止。iframe处理遇到iframe里的元素捕获不到先用切换到iframe指令切进去操作完再用跳出iframe回到主页面。六、数据处理让采集到的数据落地Excel读写打开Excel用启动Excel或获取当前激活的Excel。读取用循环Excel内容指令每次循环项是一行是个列表取第一列用loop_item[0]取第二列用loop_item[1]。写入用在单元格写入内容指定行列坐标写入数据。保存操作完别忘了保存Excel不然数据没写进去。常见报错有几个必须记Can not convert Array to String循环Excel时没取具体列把整行列表当字符串用了日期少8小时时区问题写入前加timedelta(hours8)修正AttributeError: NoneTypeExcel对象是None没有用启动或获取指令赋值JSON解析HTTP接口返回的数据通常是JSON字符串用文本转换为JSON转成字典后按data[key]取值。七、鼠标键盘操作模拟模式 vs 驱动模式默认模拟模式操作在后台跑不影响你用电脑。驱动模式更稳定需要安装虚拟键盘驱动在设置里找但运行时会占用鼠标键盘。图像识别当元素捕获实在捕不到上图像识别截一张目标区域的图然后用以下指令wait_appear等待图像出现click点击图像中心hover悬停dblclick双击图像识别有一个锚点参数9个位置上中下 × 左中右配合偏移量可以点图像旁边的位置。八、进阶HTTP请求和Python协同HTTP请求GET请求设URL选GET直接发。返回值存到变量转JSON后取需要的字段。POST请求多一个请求体参数用字典格式填{key: value}。需要鉴权的话在Headers里加Authorization: Bearer {token}。Python协同影刀支持调用Python代码块。定义方式defmain(args):dataargs[input_value]resultdata.strip().replace( ,_)return{output:result}跨模块调用需要在函数文件开头from . import package。第三方库安装在影刀设置里找Python环境路径然后到命令行pip install requests即可之后在代码里import requests正常用。OCR文字识别流程截图 → OCR识别指令 → 从结果里提取文本。影刀内置验证码识别服务支持纯数字、纯英文、数英混合、缺口识别等多种类型按次收费新用户有试用额度。ADB手机自动化连接手机手机开USB调试用连接手机指令连接名自定义。操作session.click(x, y)点坐标session.swipe(x1, y1, x2, y2)滑动session.find_by_xpath(//)找元素session.screenshot(D:\\)截图。九、平台实战以小红书采集器为例TEMU店群矩阵自动化运营核价报活动整个案例的主线搜索关键词 → 翻页 → 采集每篇笔记的标题、作者、点赞数 → 写入Excel。流程骨架打开浏览器 → 访问小红书搜索页 → 无限循环翻页 → 等待页面加载完成 → 相似元素循环每条笔记 → 获取标题文本 → 获取作者名文本 → 获取点赞数文本 → 追加到数据列表 → 检查下一页按钮是否disabled → 是则退出循环 → 点击下一页 → 将数据列表写入Excel → 保存Excel元素定位时小红书笔记卡片的XPath参考//div[contains(class,note-item)] # 笔记卡片 //a[classtitle]/span # 标题 //span[classauthor]/span # 作者名 //span[contains(class,like-wrapper)] # 点赞数区域十、系统联动流程跑完自动通知飞书消息通知流程跑完自动发消息用飞书机器人飞书群里创建机器人复制webhook地址影刀里用HTTP请求POSTURL填webhookBody填消息内容飞书卡片消息是JSON格式飞书多维表格读写飞书多维表格比Excel更适合多人协作场景。影刀有专门的飞书指令集支持读取记录、创建记录、更新记录。邮件发送用SMTP发邮件配置发件服务器smtp.qq.com:465 / smtp.163.com:465填发件人、收件人、主题、正文带附件时指定文件路径。定时任务流程写好后在影刀调度中心创建计划任务设置每天/每周/每月/指定时间自动运行不需要人守着。十一、工程化让流程能长期稳定跑子流程封装把重复用到的逻辑比如登录、翻页、写Excel封装成子流程。好处主流程清爽改一处所有调用处都更新。创建方式新建一个应用作为子流程定义输入输出参数在主流程里用调用子流程指令调用。调试出问题不要靠猜打断点一行行排查在报错指令前打断点橙色点运行到断点暂停时看左下角调试变量面板查看所有变量当前值和类型单步调试一条条往下跑找到异常变量后针对性修复这是调试文档里的真实案例AttributeError: NoneType object has no attribute get_active_sheet——Excel对象是None意味着没有用启动Excel指令给变量赋值。命名规范流程名动词对象比如采集小红书笔记变量名功能描述比如current_page、data_list子流程名动词对象参数特征比如写入Excel_单行版本选择社区版免费适合个人学习和简单任务。创业版支持多机器人和更多指令。企业版支持调度中心、多用户、权限管理。学习阶段社区版够用。十二、常见报错速查报错原因解决方案元素未找到页面未加载完/动态属性/iframe加等待指令/修改XPath/切iframeXPath语法错误引号嵌套/节点名拼错用双引号包单引号或单引号包双引号Can not convert Array to String循环Excel时取了整行而非某列改为loop_item[0]取具体列Excel日期少8小时UTC时区问题写入前加8小时无限循环跑不停退出条件判断错了打断点看条件变量的实际值弹窗拦截后续操作没处理突发弹窗在循环外套Try-CatchCatch里处理弹窗如果想要一个系统的学习资源汇总可以看 home.linyan.cloud里面整理了影刀RPA的学习路径和常用指令清单。#影刀RPA #RPA教程 #零基础入门 #网页自动化 #数据采集作者林焱