桌面软件自动化 = 让机器人操作那些没有网页版的程序(Excel/WPS、ERP、微信、钉钉、财务软件)——元素识别比网页难一档,但用对方法(属性优先、快捷键兜底)依然可靠,而且它是国内办公场景里价值最高的一块。
1.5.3 管浏览器里的世界,本节管【屏幕上的其他一切窗口】。两者的方法论是同一套(定位元素 → 操作 → 等待 → 异常处理),只是桌面环境的识别更难、兜底手段更多。学完本节,1.5 这条线就完整了,1.6 开始把 Agent 与 RPA 接起来。
一、桌面自动化的两类对象
| 类型 | 例子 | 识别难度 | 说明 |
|---|---|---|---|
| 现代桌面程序(支持自动化接口的) | WPS/Office、多数业务系统客户端 | 中 | 能用【属性定位】,稳定 |
| 老旧或自绘界面的程序 | 老 ERP、某些行业软件、游戏化界面 | 高 | 属性取不到,要退回图像/坐标 |
判断方法:拾取元素时,如果平台能高亮出细粒度的控件(按钮、输入框分开),说明它支持属性定位;如果只能框出一整块区域,那就是自绘界面,得用别的手段。
二、三大主力场景
① 表格处理(最高频) Excel/WPS 的读写、公式计算、拆分合并、格式整理。 关键提醒:能用 Excel 自身的能力就用它(平台的 Excel 组件直接操作单元格和公式),不要靠【模拟鼠标点单元格】——后者慢且脆。
② 业务系统操作(价值最高) 老 ERP 里录入单据、查询数据、导出报表。 这类系统的自动化是 RPA 的看家本领——因为它没有 API,只有界面(1.4.1 讲过的那个核心价值)。
③ 通讯工具(最需谨慎) 微信、钉钉里发消息、拉群、传文件。 价值大,风险也大——平台通常有专门的安全策略,且【对外发消息】属于不可逆操作,必须留人工确认。
三、四个提高稳定性的技巧(本节的干货)
技巧 1:快捷键优先于鼠标
能用 Ctrl+C/Ctrl+V/Ctrl+S/Enter 完成的,优先用快捷键。
理由:快捷键不受窗口位置、分辨率、控件位置影响,稳定性高一个数量级。很多老 RPA 工程师的秘诀就是:能用键盘就不用鼠标。
技巧 2:善用剪贴板 【读界面文字】有时很难,但【选中 → 复制 → 读剪贴板】几乎总是可行。这是处理自绘界面的万能兜底。
技巧 3:图像识别只做兜底,且要做得讲究 如果必须用图像匹配:① 截图只截最小特征区域(别截整个窗口);② 尽量选不随主题/语言变化的图标;③ 记录当前分辨率与缩放比例(换台电脑可能就失效)。
技巧 4:让窗口状态可预期 每次操作前先把窗口激活、最大化,并确认焦点在哪。桌面自动化的多数故障来自【点错窗口】或【输入框没聚焦】。
四、一个必须理解的现象:抢焦点
桌面自动化和网页自动化的一个重大区别:桌面程序通常只有一个前台窗口,谁在前面谁收键盘。
后果:
- 流程跑的时候你不能同时用电脑做别的事(尤其不能碰同一个程序);
- 弹窗会打断流程(比如系统更新提示、杀毒软件提示);
- 所以桌面流程更适合放在那台专门的机器上跑(或晚上没人时跑)。
这条决定了桌面自动化的典型部署方式:一台常年开机的电脑 + 定时任务——这也解释了为什么很多公司的 RPA 是【一台电脑专门跑流程】。
五、动手 Demo:批量整理文件(不依赖任何业务软件)
选这个 Demo 是因为文件管理是最安全、最容易看到效果的桌面场景(不碰真实业务系统)。
准备:建一个测试文件夹,往里放 10~15 个各种类型的文件(txt/png/pdf 混着),别用真实资料。
第一步——目标:把文件按【扩展名】自动分到子文件夹里(图片放【图片】,文档放【文档】,其余放【其他】)。
第二步——结构设计(沿用 1.5.2 的三结构):
1. 获取文件夹下所有文件 → 变量:文件列表
2. 循环 文件列表 中的每一个 文件
2.1 取扩展名(如 .png)
2.2 判断扩展名属于哪一类
.png/.jpg/.jpeg/.gif → 【图片】
.txt/.pdf/.docx → 【文档】
其他 → 【其他】
2.3 若目标文件夹不存在则创建
2.4 移动文件
3. 输出处理结果(各类分别移动了多少个)
第三步——运行。
看到什么算成功:测试文件夹里出现三个子文件夹,文件按类型归位;日志里能看到每个文件的处理记录。
读结果:
- 跑第二遍会怎样?——这是幂等性的好实验:第二遍应该【没有文件可处理】或【文件已在正确位置】,而不是报一堆错。如果你的流程第二遍就崩了,说明没考虑【已经处理过】的情况(1.4.2 第 4 条误区讲的就是它);
- 故意放一个被占用的文件(先打开一个 txt 不关),再跑一遍——看它怎么处理【文件被占用】这个典型异常;
- 把它设成定时任务(每天中午跑一次):走到这一步,你就完成了【桌面自动化】的完整闭环,而且这是完全安全的练习。
30 秒实验
打开一个 Excel/WPS 表格,不用鼠标,只用键盘完成一件事:选中 A1 单元格 → 输入一个数 → 保存。
参考路径:Ctrl+Home(跳到 A1)→ 打字 → Ctrl+S。
结论:纯键盘可以完成大量操作——而键盘操作正是桌面自动化最稳的实现方式。开始有意识地留意你常用的快捷键,它们就是你未来的流程组件。
常见误区
- 【桌面自动化和网页自动化一样好做】——桌面更难:元素识别难、抢焦点、弹窗干扰多。所以优先选【有网页版的场景】,桌面只用在没有替代方案时。
- 【用鼠标点击单元格来操作 Excel】——效率极低且脆。用平台的 Excel 组件(直接读写单元格、执行公式)。
- 【图像识别很强大,可以解决一切】——它是最脆的一种:分辨率、缩放、主题、语言一变就失效。能不用就不用。
- 【流程跑的时候我还能同时用电脑】——桌面程序只有一个前台窗口,你一动鼠标就可能打断流程(或被流程抢走焦点)。跑流程时要么离开,要么另开一台机器。
- 【自动化发消息很方便,先做这个】——对外发消息不可逆,且平台有风控策略。本课的规矩:凡是对外动作(发消息、发帖子、提交单据)必须留人工确认点。
自测三问(点开对答案)
1. **桌面自动化的四个稳定性技巧是什么?** ① 快捷键优先于鼠标;② 善用剪贴板兜底;③ 图像识别只做兜底且要截最小特征区域;④ 每次操作前把窗口状态弄可预期(激活、最大化、确认焦点)。 2. **为什么说【键盘操作比鼠标操作稳】?** 因为快捷键**不受窗口位置、分辨率、控件位置变化的影响**——鼠标点击依赖坐标或元素定位,这两样都比【按一个组合键】脆弱得多。**能用键盘就不用鼠标**是行业老手的口头禅。 3. **桌面自动化的典型部署方式是什么?为什么?** **一台常年开机的电脑 + 定时任务**。因为桌面程序只有一个前台窗口,**流程运行时人不能同时操作**,且弹窗会打断流程——所以需要在专门的机器上、或无人使用的时间段运行。- ☐ 下一节(1.6.1 RPA与Agent交互)
相关笔记
- 网页自动化 —— 同一套方法论的浏览器版本
- RPA 的核心能力 —— 元素定位与异常处理的原则出处
- RPA与Agent交互 —— 桌面这双手怎么接到 Agent 上
- 编程原理 3-8 · 数组 —— 【一批同类数据】的组织方式,做循环时的基础
- 🤖 Agent+RPA实战 · 索引 —— 全课路线图