影刀RPA进阶教程Windows桌面应用程序自动化操作指南网页自动化是影刀的强项但有时你需要操作桌面端程序——比如操作微信客户端、操作 WPS、操作 ERP 系统客户端。桌面程序自动化和网页自动化思路不同没有 DOM 树、没有 XPath、不能用浏览器指令。但影刀支持窗口操作和图像识别能覆盖大部分场景。一、窗口操作找到并激活目标窗口1.1 查找窗口# 1. 直接用窗口标题查找激活窗口(微信)# 找到标题含微信的窗口并置顶# 2. 用窗口类名精确查找激活窗口(Notepad,类名Notepad)# 3. 查找所有匹配的窗口查找窗口(微信)-窗口列表 输出日志(f找到{len(窗口列表)}个微信窗口)1.2 窗口操作指令指令作用激活窗口把窗口置顶获得焦点最大化窗口窗口最大化最小化窗口窗口最小化到任务栏店群矩阵自动化突破运营极限| 关闭窗口 | 关闭窗口 || 移动窗口 | 移动窗口到指定位置 || 调整窗口大小 | 设置窗口宽高 |# 典型操作序列激活窗口(微信)等待(1秒)最大化窗口()![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2cd4c35296324544829da97618b596df.png#pic_center)# 确保窗口在最前面再操作移动窗口(微信,0,0)# 移到左上角调整窗口大小(微信,1280,800)# 设固定大小二、图像识别定位桌面程序里的元素桌面程序没有 HTML 元素影刀通过图像识别来找按钮。2.1 截图定位# 步骤1先在画面上截取目标按钮的图片# 用影刀的截图工具截一个微信发送按钮的图保存为 send_button.png# 步骤2用图像识别找到这个按钮的位置查找图片(D:\\图片库\\send_button.png)-找到的位置# 返回 (x, y) 坐标# 步骤3点击![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/426055ceacad4087b4533cf30e94e254.png#pic_center)鼠标移动到(找到的位置.x,找到的位置.y)鼠标点击()# 或者直接用组合指令点击图片(D:\\图片库\\send_button.png)2.2 图像识别的精度控制# 匹配度设置查找图片(button.png,匹配度0.9)# 0.9 90% 相似度就算匹配# 设太低会误匹配设太高稍微变一点就不认识了# 建议先在测试环境试出合适的匹配度# 一般 0.85~0.95 之间2.3 多个相似按钮的处理# 如果画面中有多个相同图标比如多个关闭按钮查找所有图片(close_button.png)-所有位置 遍历列表(所有位置,位置):鼠标移动到(位置.x,位置.y)鼠标点击()等待(0.5秒)三、键盘模拟桌面程序的输入不走输入文本指令要走键盘模拟。# 激活目标窗口激活窗口(记事本 - 无标题)等待(0.5秒)# 输入文本模拟键盘敲击模拟输入(Hello World)# 模拟快捷键模拟按键(Ctrl,S)# 保存模拟按键(Ctrl,A)# 全选模拟按键(Ctrl,C)# 复制模拟按键(Ctrl,V)# 粘贴模拟按键(Alt,F4)# 关闭窗口# 模拟回车模拟按键(Enter)# 模拟 Tab 切换焦点模拟按键(Tab)注意模拟输入和输入文本的区别——输入文本直接设置元素的文本内容用于网页模拟输入模拟键盘逐字敲击用于桌面程序temu店群自动化报活动案例四、实战自动操作微信发送消息# 场景给指定联系人发送采集结果# 1. 激活微信窗口激活窗口(微信)等待(1秒)# 2. 用快捷键打开搜索模拟按键(Ctrl,F)等待(0.5秒)# 3. 输入联系人名字模拟输入(数据日报群)等待(1秒)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/737ea72d3385418286c1b7974a70197d.png#pic_center)# 4. 回车进入聊天模拟按键(Enter)等待(0.5秒)# 5. 输入消息模拟输入(f今日采集完成共计{变量_总数}条数据)等待(0.3秒)# 6. 发送模拟按键(Enter)输出日志(微信消息发送完成)五、桌面自动化的常见坑问题原因解决图像识别找不到窗口大小变了/分辨率变了固定窗口大小和分辨率输入中文变乱码输入法状态不对输入前按 Shift 切到英文输入点击位置偏移窗口不在固定位置先移动窗口到 (0,0)被其他窗口遮挡弹窗冒出来了操作前先激活窗口不同电脑上截图不匹配DPI/缩放不同截图和目标电脑的缩放一致六、什么时候该放弃桌面自动化桌面自动化比网页自动化脆弱 10 倍。以下情况不建议用需要跨多台电脑运行截图不通用目标程序界面经常更新目标程序有反自动化检测如某些金融软件遇到这些情况优先考虑这个桌面软件有没有网页版有没有 API有没有导出功能作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。