ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

影刀RPA新手教程:Windows桌面软件自动化实战——操作ERP和传统软件

影刀RPA新手教程:Windows桌面软件自动化实战——操作ERP和传统软件 影刀RPA新手教程Windows桌面软件自动化实战——操作ERP和传统软件网页采集你会了桌面软件怎么搞做了几个月网页自动化觉得影刀很简单。然后老板让你自动化公司那个2005年开发的ERP系统你才发现——这个软件没有网页没有浏览器F12打不开XPath用不了。桌面软件自动化是影刀的另一个战场跟网页自动化完全不同的思路。我第一次做ERP自动化元素捕获了3天都没搞定最后发现是DPI缩放的问题。案例主线自动操作一个老旧的ERP系统每天批量录入100条订单。安装与准备——桌面自动化环境配置影刀社区版安装完成ERP软件安装——确保能正常运行关闭干扰软件——360桌面整理助手、腾讯桌面整理助手、各类动态壁纸软件、录屏软件这些软件会干扰影刀的桌面元素捕获DPI设置——Windows显示缩放必须设为100%右键桌面→显示设置→缩放与布局→100%。SAP、ERP等传统软件只支持100% DPI下的元素捕获125%或150%会导致坐标偏移权限配置——影刀要用管理员权限运行。运行软件时权限要求影刀权限 ≥ 目标软件权限。如果ERP是管理员权限启动的影刀也必须管理员启动踩坑DPI缩放导致的坐标偏移——这是我排查了一下午才发现的。屏幕缩放125%时影刀点击的坐标位置跟实际按钮位置偏了25像素。解决方案显示设置→100%。另外home.linyan.cloud 有桌面自动化环境配置的完整排查清单照着逐项检查就行。元素定位四合一——桌面软件的三种定位方式桌面软件没有XPath元素定位方式完全不同。方式一桌面元素捕获影刀的桌面元素捕获工具类似网页元素捕获但针对桌面控件打开影刀→捕获新元素→切换到桌面模式把鼠标移到ERP的按钮/输入框上影刀识别到控件→显示控件信息→确认捕获捕获成功后影刀会保存控件的类型、名称、类名等信息。后续用点击元素、“获取元素值”、设置元素值等指令操作。桌面元素捕获跟网页的区别网页元素有XPath/CSS选择器桌面元素没有网页元素结构是HTML DOM桌面元素是Windows控件树网页元素可以F12查看源码桌面元素看不到源码捕获失败的常见原因DPI不是100% → 改成100%再捕获影刀权限低于ERP权限 → 用管理员权限打开影刀桌面管理软件干扰 → 关闭360桌面整理等软件深度模式 → 尝试影刀的深度模式捕获新元素方式二图像识别定位当桌面元素捕获不到老旧软件的控件结构不支持用图像识别截图目标按钮的图片影刀截图指令截取按钮区域影刀点击图像指令→传入截图→影刀在屏幕上匹配这张图→找到位置→点击图像识别的核心参数匹配精度0.990%相似度就认为匹配成功不要设太高1.0会导致找不到超时时间10秒如果10秒内找不到图像报错退出图像识别锚点定位的组合方案有些按钮的位置不固定在不同界面位置不同用锚点定位先找一个固定的锚点元素比如ERP窗口标题栏从锚点计算偏移坐标按钮在锚点右下方200像素处影刀鼠标移动到位置指令→移动到锚点偏移→点击锚点定位的优势不管ERP窗口怎么移动锚点跟着窗口走偏移坐标始终准确。方式三键盘快捷键有些ERP按钮用快捷键更稳定。SAP系统就是这样——鼠标点击有延迟快捷键秒执行。常见快捷键组合F8 → SAP执行按钮Tab → 切换下一个输入框ShiftTab → 切换上一个输入框Enter → 确认/提交CtrlS → 保存CtrlC → 复制CtrlV → 粘贴AltF4 → 关闭窗口影刀键盘输入指令键盘输入 → 按键 Tab → 执行 → 光标跳到下一个输入框 键盘输入 → 按键 Enter → 执行 → 确认当前操作 键盘输入 → 按键 F8 → 执行 → SAP执行命令我第一次做SAP自动化点击执行按钮后等了10秒才有响应换成F8快捷键后1秒搞定。快捷键比图像点击快10倍。正则提取——桌面OCR识别后的数据清洗OCR识别文本 → 价格1,234.56 → 正则 [¥,] → 清洗后 1234.56 → 转数字变量与数据类型——订单数据的结构ERP订单数据结构order_data{order_id:ORD-20250630-001,customer_name:客户A公司,product_name:产品X,quantity:100,unit_price:12.50,total_amount:1250.00,delivery_date:2025-07-15,status:待录入}批量订单用列表收集all_orders [] # 从Excel读取100条订单数据 for row in excel_data: all_orders.append(row)变量类型注意点金额用浮点数不要用字符串1250不能直接填入ERP的数字输入框日期用字符串格式要跟ERP一致有些ERP要20250715有些要2025-07-15数量用整数流程控制——批量录入的循环策略100条订单批量录入的流程控制For次数循环已知订单数量100For i from 1 to 100: 打开ERP新建订单页面 填入订单数据从all_orders列表取第i条 点击提交 等待2秒ERP处理时间 判断提交是否成功 if 成功 → 打印日志第{i}条录入成功 → 继续 if 失败 → 截图保存 → 打印错误信息 → 决定继续还是停止异常处理——每条订单的录入都可能出错try: 填入数据 → 提交 → 等待 → 检查结果 except: 截图 → 保存到error_screenshot文件夹 → 记录失败订单ID → 继录下一条不中断整个流程等待策略——桌面软件的等待比网页更复杂窗口等待等待ERP窗口出现影刀等待窗口指令元素等待等待输入框可操作影刀等待元素指令固定等待每次提交后等2秒ERP后台处理有延迟不要用等待网页加载——桌面软件没有网页加载事件网页自动化——跟桌面自动化结合的场景有些ERP系统既有桌面端又有网页端比如金蝶、用友。网页端用XPath定位桌面端用控件/图像定位。混合策略if ERP有网页版 → 优先用网页自动化更稳定、更快 if ERP只有桌面版 → 用桌面元素捕获图像识别键盘快捷键网页端的优势元素定位更精确有XPath数据提取更方便可以直接获取文本等待策略更成熟。数据处理——订单数据清洗入库从Excel读取订单数据影刀读取Excel指令→ 清洗 → 录入ERP清洗步骤金额清洗去掉¥符号和千位分隔符正则 [¥,]日期格式化统一成ERP要求的格式客户名清洗去掉多余空格strip数量校验必须是正整数清洗后数据验证if quantity 0 → 跳过这条订单 → 打印日志数量异常 if total_amount 0 → 跳过 → 打印日志金额异常 if delivery_date today → 跳过 → 打印日志日期不合理录入结果写入Excel用于跟踪哪些订单录成功了影刀写入Excel指令 → 追加写入 → 成功的标记已录入 → 失败的标记失败错误原因鼠标键盘图像自动化——桌面自动化的核心桌面自动化主要依赖三个影刀指令鼠标操作点击图像截图按钮→影刀匹配→点击鼠标移动到位置移动到指定坐标配合锚点偏移使用鼠标点击在指定坐标点击左键/右键/双击键盘操作键盘输入输入单个按键Tab/Enter/F8等输入文本在输入框中输入字符串订单号/客户名等组合键CtrlC/CtrlS等图像操作截图截取屏幕区域用于验证/OCR识别图像匹配查找屏幕上的目标图像点击图像找到图像后点击桌面自动化操作顺序1. 键盘快捷键优先最稳定最快 2. 桌面元素捕获其次精确但可能捕获不到 3. 图像识别锚点偏移兜底兼容性最好但速度慢选择逻辑if 快捷键能完成 → 用键盘输入 elif 元素能捕获 → 用点击元素/设置元素值 else → 用图像识别鼠标点击进阶技能——HTTP/Python/OCR/ADBOCR——桌面软件的文本读取桌面软件没有获取元素文本的网页版指令。ERP屏幕上的数据用OCR读取截图ERP数据区域 → 影刀OCR文字识别 → 识别结果保存到变量 → 数据清洗OCR场景读取订单编号输入后截图验证读取状态信息“已提交”/“审核通过”读取金额数据OCR识别后清洗成数字踩坑OCR识别精度不高中文字符尤其解决方案截图区域要精确不要截太多无关内容OCR后用正则清洗去掉识别错误的字符关键数据用元素捕获的获取元素值代替OCRPython协同——批量数据预处理importpandasaspd dfpd.read_excel(订单数据.xlsx)# 数据清洗df[金额]df[金额].str.replace(,).str.replace(,,).astype(float)df[日期]pd.to_datetime(df[日期]).strftime(%Y%m%d)# 转ERP格式df[客户名]df[客户名].str.strip()# 校验valid_ordersdf[df[数量]0df[金额]0]valid_orders.to_excel(清洗后订单.xlsx)Python先清洗数据影刀再录入ERP分工明确。ADB——手机端ERP操作有些ERP有手机App版本。影刀ADB指令可以操作手机AppADB连接手机 → 打开ERP App → 输入订单数据 → 提交ADB操作比桌面操作更不稳定屏幕分辨率不同、网络延迟等只在必要时使用。平台实战——ERPExcel飞书三平台联动ERP录入Excel数据飞书通知三个平台协作Excel → 影刀读取订单数据ERP → 影刀自动录入订单飞书 → 录入完成后推送通知流程读取Excel订单数据 → Python清洗 → 逐条录入ERP → 每条录入后标记状态 → 100条全部完成 → 写入Excel结果 → 飞书推送今日100条订单录入完成成功95条失败5条 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4f076fb38823406ea3e74e30a754cec4.png#pic_center)失败订单的处理失败订单 → 截图保存 → 写入失败记录Excel → 飞书推送失败详情 → 人工跟进系统联动——文件/定时任务/远程桌面文件联动订单Excel → 影刀读取 → 清洗 → ERP录入 → 结果Excel → 飞书通知定时任务影刀定时任务 → 每天07:30 → 执行订单录入流程 → 上班前订单就全部录好了远程桌面——影刀VNC控制调度机器人如果ERP装在另一台电脑上用影刀的远程控制桌面功能影刀企业版支持VNC远程控制在控制台→机器人管理→选择调度机器→远程控制模式网页上直接操作远程电脑上的ERP注意事项VNC远程期间不能同时两个人连接超过5分钟无操作会自动断开UAC弹窗会卡住远程操作——提前关闭UAC或用管理员权限工程化与规范——桌面自动化稳定性保障桌面自动化比网页自动化更容易不稳定窗口位置变化、分辨率变化、软件版本更新需要更强的工程化保障。窗口绑定每次操作前确认ERP窗口在最前面影刀激活窗口指令避免操作到其他软件截图验证关键步骤后截图确认操作结果正确比如提交后截图确认状态变成已提交失败重试每条订单录入失败后重试3次3次都失败才标记为失败日志记录每条订单录入状态打印日志方便事后排查前置检查流程启动前检查ERP是否在运行、网络是否连通、Excel文件是否存在命名规范子流程sub_打开ERP、sub_录入单条订单、sub_验证录入结果变量erp_windowERP窗口对象、order_data当前订单数据、录入结果成功/失败速查表与常见报错桌面自动化高频报错“元素无法捕获”→ DPI不是100%。解决显示设置→缩放100%“权限不足无法操作”→ 影刀权限低于ERP权限。解决右键影刀→以管理员身份运行“桌面管理软件干扰捕获”→ 360桌面整理等软件挡住了。解决关闭桌面管理软件“图像匹配失败”→ 匹配精度太高或截图区域变化。解决精度降到0.8-0.9使用锚点偏移代替绝对坐标“SAP点击后无响应”→ 鼠标点击有延迟。解决改用快捷键F8执行、Tab切换定位方式选择速查场景推荐定位方式优先级输入框有快捷键键盘输入1最快最稳输入框能捕获设置元素值2输入框捕获不到图像识别鼠标移动3按钮有快捷键键盘输入1按钮能捕获点击元素2按钮捕获不到点击图像3状态文字能捕获获取元素值2状态文字捕获不到OCR识别3影刀指令速查操作影刀指令关键参数打开ERP打开程序/激活窗口程序路径/窗口标题填入输入框设置元素值/键盘输入控件对象/输入文本点击按钮点击元素/点击图像/键盘输入控件对象/图像对象/快捷键读取状态获取元素值/OCR识别控件对象/截图区域截图验证截图截图区域/保存路径窗口操作激活窗口/等待窗口窗口标题/超时时间桌面自动化的核心原则快捷键优先、元素捕获其次、图像识别兜底。DPI必须100%、权限必须对等、干扰软件必须关掉。这三条做到桌面自动化就能稳定跑。#影刀RPA #新手教程 作者林焱
返回列表