影刀RPA速查手册:常用指令分类速查 + 报错一搜即得

影刀RPA速查手册:常用指令分类速查 + 报错一搜即得

整理了一份在实际项目里高频使用的指令和报错处理,按功能分类,碰到问题搜关键词就能找到。


一、安装和配置

Q:去哪里下载影刀?
www.yingdao.com,选Windows版,社区版免费。

Q:装完影刀,捕获网页元素时什么都捕不到?
浏览器插件没装。进Chrome扩展程序页搜"影刀"装上,Edge同样操作,装完重启浏览器。

Q:捕获框和元素位置有偏移?
6个排查方向:

  1. 系统DPI缩放不是100% → 去显示设置改
  2. 浏览器缩放不是100% → 浏览器设置里改
  3. 浏览器开了兼容模式 → 右键快捷方式→属性→取消兼容模式
  4. 系统文本大小自定义了 → 改回100%
  5. 远程桌面两端缩放不一致 → 两端统一
  6. Win10任务栏在顶部/左边 → 改到底部

改完重启影刀和浏览器。


二、元素定位速查

XPath常用写法

//div[@class='price'] # 精确class匹配 //div[contains(@class,'price')] # class模糊匹配(推荐,稳定) //span[text()='确认'] # 精确文本匹配 //span[contains(text(),'确认')] # 文本包含匹配(更安全) //ul[@id='list']/li[3] # 取第3个li //div[@class='row']//span # 所有后代span //span[@class='price']/parent::div # 向上找父div //li[last()] # 取最后一个li //li[position()>3] # 取第3个之后的所有li

CSS选择器常用写法

.item-price/* class包含item-price */#submit-btn/* id为submit-btn */.order > .price/* .order的直接子元素.price */.order .price/* .order的所有后代.price */li:nth-child(2)/* 第2个li */li:last-child/* 最后一个li */[data-id='001']/*>'text']/* type属性为text的input */div.active.selected/* 同时有active和selected两个class */

XPath vs CSS选择器,选哪个?

场景推荐
按文字内容定位元素XPath(CSS不支持)
需要向上找父节点XPath(CSS不支持)
简单的class/id定位CSS(更简洁)
按属性值定位都可以,CSS语法更短

三、变量与数据类型速查

字符串操作

取索引:text[0] # 第1个字符 切片:text[0:5] # 前5个字符 拼接:text1 + text2 # 直接用+ 长度:len(text) # 字符数 去空格:text.strip() # 去首尾空格 去换行:text.replace('\n', '') 转大写:text.upper() 是否包含:'关键词' in text

列表操作

取第一项:list[0] 取最后项:list[-1] 取长度:len(list) 追加:用"追加元素到列表"指令 是否包含:item in list

字典操作

取值(可能不存在时):dict.get('key', '默认值') 判断键是否存在:'key' in dict 取值(确定存在时):dict['key']

JSON相关

拼多多店群自动化上架方案

字符串→字典:用"文本转换为JSON"指令 字典→字符串:用"JSON转换为文本"指令 取深层嵌套值:data['level1']['level2'] 取列表里第一项的某字段:data['list'][0]['field']

四、流程控制速查

循环类型选择

场景用哪种循环
循环固定次数For次数循环
遍历列表每一项ForEach列表循环
遍历Excel每一行循环Excel内容
循环网页所有相似元素相似元素循环
不知道循环几次,条件满足才停While循环
完全不知道,遇到条件手动退出无限循环+If判断+退出循环

异常处理模板

Try: [主流程逻辑] Catch (error): 打印 ('异常:' + str(error)) [备用处理,比如关闭弹窗、刷新页面] Finally: [无论成不成功都要执行,比如关浏览器、保存Excel]

五、网页自动化速查

等待策略

场景方法
等固定时间等待N秒(不推荐,用以下替代)
等页面某元素出现等待元素出现(推荐)
等加载动画消失等待元素消失
等网络请求完成等待元素出现(目标元素)

弹窗处理

弹窗类型处理方式
浏览器原生弹窗(系统级,只有OK/取消)处理对话框指令
页面内自定义弹窗捕获关闭/确认按钮,点击
不知道什么时候会出现的弹窗外层循环套Try-Catch,Catch里处理

翻页处理

知道总页数:

获取总页数 → For次数循环(总页数) → 每次循环末尾点下一页

不知道总页数(推荐):

无限循环 { 采集当前页数据 获取"下一页"按钮的class属性 If class包含'disabled' → 退出循环 点击下一页 等待页面加载 }

iframe处理

切换到iframe(选择目标iframe元素) [iframe内的操作] 跳出iframe [继续主页面操作]

懒加载处理(核心思路)

维护一个"已采集记录列表",每次循环时获取当前可见的元素,用元素的唯一属性(如index值、订单号)和列表比对。已有则跳过,没有则采集并追加到记录列表。同时在每次循环后向下滚动鼠标,直到记录列表长度达到总数量或者连续滚动后数量不再增加。


六、数据处理速查

Excel操作

操作指令
打开已存在的Excel启动Excel / 获取当前激活的Excel
读取数据循环Excel内容(逐行遍历)
取某列数据loop_item[列序号,从0开始]
写入单元格在单元格写入内容
追加一行在末尾写入,行号用计数变量
保存保存Excel(必须做!)

Excel常见报错

报错原因解决
Can not convert Array to String把整行loop_item当字符串用改为loop_item[0]取某列
AttributeError: NoneType get_active_sheetExcel对象没有赋值加"启动Excel"指令
日期时间少8小时UTC时区问题写入前加timedelta(hours=8)
内存不足Excel文件太大分批读取,每批处理完关闭

数据库操作

完整流程:连接数据库 → 执行查询/插入 → 关闭连接

批量插入性能更好(一次INSERT多条):

INSERTINTOorders(id,name,amount)VALUES(?,?,?),(?,?,?),...

常见报错:

  • 连接失败:检查主机名、端口、账号密码
  • 表不存在:确认表名大小写、数据库名是否选对
  • 权限问题:用更高权限的账号,或者让DBA开权限
  • 字段不存在:对照表结构确认字段名拼写

七、鼠标键盘图像自动化速查

操作模式选择

场景模式
跑流程时还要用电脑做别的模拟模式(默认)
需要稳定执行、不在乎占用输入设备驱动模式

驱动模式需要在影刀设置里安装虚拟键盘驱动。

图像识别指令

指令用途
等待图像出现等目标图像显示在屏幕上
点击图像点图像的某个锚点位置
悬停图像鼠标移到图像上
双击图像双击图像

锚点位置:9个(上中下 × 左中右),加偏移量可以精准点图像旁边。


八、进阶功能速查

HTTP请求

参数填法
URL完整接口地址
方法GET(查询)/ POST(提交/修改)
Headers鉴权:Authorization: Bearer token;内容类型:Content-Type: application/json
Body(POST)JSON格式字典:{“key”: “value”}
返回值字符串,用"文本转JSON"转成字典再操作

Python代码块

defmain(args):# 取输入参数input_value=args['参数名']# 处理逻辑result=input_value.strip()# 返回结果return{'输出参数名':result}

跨模块调用需要在文件开头加:from . import package

安装第三方库:用影刀的Python路径跑pip:

C:\影刀安装路径\python.exe-mpipinstallrequests

TEMU店群如何管理运营?

OCR识别

截图(保存到变量)→ OCR识别文字(选类型)→ 文本处理(strip、replace去杂质)

验证码类型:纯数字/纯英文/数英混合/缺口识别/点选坐标 等。

ADB手机自动化

连接手机(连接名) 操作: - 找元素:find_by_text / find_by_xpath / find_by_id - 点击:click(x, y) 或 点击元素(手机) - 滑动:swipe(x1, y1, x2, y2, 时间ms) - 截图:screenshot(保存路径) - 后退:back() 断开连接

九、系统联动速查

飞书消息通知

HTTP请求(POST) URL: 飞书机器人webhook地址 Body: { "msg_type": "text", "content": {"text": "消息内容"} }

定时任务

调度中心 → 新建任务 → 设置触发方式(按天/按周/按月/Cron表达式)→ 选择应用 → 保存

电脑需要保持开机,影刀需要在运行状态。

邮件发送

发送邮件指令配置: - SMTP服务器:smtp.qq.com(QQ)/ smtp.163.com(163) - 端口:465(SSL) - 账号:发件邮箱 - 密码:邮箱授权码(不是登录密码) - 收件人:多人用逗号分隔 - 附件:指定文件路径

十、工程化速查

子流程参数传递

子流程定义: 输入参数:param1, param2 取值方式:args['param1'] 返回值:return {'result': value} 主流程调用: 填写输入参数的值 保存返回值到变量

命名规范建议

流程名:动词+对象 例:采集小红书笔记、发送每日报告 变量名:功能描述 例:current_page、data_list、order_info 子流程名:动词+对象+特征 例:写入Excel_单行、发送飞书消息_文本

版本对比

功能社区版(免费)创业版企业版
基础自动化
机器人数量1个多个多个
调度中心

| 多用户管理 | ✗ | ✗ | ✓ |
| 权限控制 | ✗ | ✗ | ✓ |


十一、报错全表

报错关键词通常原因排查方向
未找到控件 / 元素未找到元素未加载/定位失效/在iframe里加等待/修改XPath/切换iframe
NoneType has no attribute变量没有赋值(是None)打断点看变量值
Can not convert Array to String列表当字符串用用[0]取某列
KeyError: ‘xxx’字典里没有这个键用.get()或先判断
JSONDecodeErrorJSON格式错误打印原始字符串检查
ConnectionRefused数据库/接口连不上检查IP、端口、防火墙
对话框处理超时浏览器弹窗没处理加处理对话框指令
XPath语法错误XPath写法不对检查引号嵌套、节点名
ModuleNotFoundErrorPython库没安装用影刀的pip安装
AttributeError: get_active_sheetExcel对象为空加"启动Excel"指令

想要完整的指令速查文档和更多案例模板,可以在 home.linyan.cloud 查找影刀RPA学习资源。

#影刀RPA #速查手册 #常用指令 #报错处理 #RPA教程

作者:林焱