🤖 第一章 Agent与RPA基础
📄 一句话概括

RPA 的六项核心能力——界面操作、数据抓取、表格与文件处理、系统对接、定时触发、异常处理——前四项是【会干什么】,后两项是【能不能放心交给它】,而稳定性恰恰是判断一个 RPA 流程好坏的真正标准。

📝 本节和前面几节的关系

1.4.1 讲清了 RPA 是什么,本节拆它的能力(对应 1.1.2 拆 Agent 能力的写法)。对照着看很有意思:Agent 有【理解】,RPA 没有;RPA 有【精确定位界面元素】,Agent 没有。两边一拼,缺口刚好互补——这是 1.6 的伏笔。

一、六项能力总览

# 能力 具体做什么 在哪一节细讲
① 界面操作 点击、输入、选择、拖拽、快捷键 1.5.3 网页/1.5.4 桌面
② 数据抓取 从网页或软件界面批量提取信息 1.5.3
③ 表格与文件处理 Excel/CSV 读写、文件重命名归档 1.5.4
④ 系统对接 调 API、连数据库、发邮件 1.6.2
⑤ 定时触发 定时跑、事件触发、无人值守 本节
⑥ 异常处理 出错重试、跳过、记录日志 本节

关键认识:①②③ 是【手脚】,④ 是【嘴巴】(能跟系统说话),⑤⑥ 是【职业素养】——很多人只练前四项,结果流程只能演示、不能交付。

二、① 界面操作:RPA 的本体

所有界面操作都建立在一件事上:先找到目标元素,再操作它。

【找元素】的四种方式,从可靠到脆弱排序:

方式 原理 稳定性 什么时候用
属性定位(推荐) 用元素的 ID、名称、自动化属性 高 首选,只要系统支持
文本定位 按界面上的文字找 中 属性取不到时
图像识别 截图比对 低(分辨率/主题一变就失效) 最后的兜底
坐标定位 记住屏幕上的位置 最低(窗口一动就废) 尽量别用

这条排序值得记一辈子:坐标和图像是【兜底】,不是【首选】。 老教程里大量用【图像识别】,是因为当年的技术只能这样——现在应该优先用属性。

三、② 数据抓取与 ③ 表格文件处理

这两项是 RPA 的【日常口粮】——因为 80% 的自动化场景本质是【把数据从 A 搬到 B】。

抓取要处理的四个现实问题:

  1. 翻页:列表页通常只显示第一页。标准做法是【循环:抓一页 → 点下一页 → 直到没有下一页】;
  2. 动态加载:页面往下滚才加载的内容(尤其是电商、社交平台),需要【滚动到底再抓】;
  3. 登录态:多数数据在登录后可见,要提前配置好登录(1.5.3 细讲);
  4. 清洗:抓回来的原始文本常常带空格、换行、多余字符——在写入表格前先处理干净,否则后面全是脏数据。

表格处理的核心:把 Excel 当数据结构用(行=记录、列=字段),而不是当【格子】用。这样抓来的数据能直接落到对应的列里。

四、④ 系统对接:RPA 也会【走正门】

一个容易被忽略的事实:RPA 也能调 API。

那什么时候该用 API、什么时候该点界面?

用 API(走正门) 用界面(走侧门)
前提 对方开放接口、你有权限 只要能看见界面
速度 快(毫秒级) 慢(要等页面加载)
稳定性 高(接口版本稳定) 低(界面一改就废)
用在哪 数据交换、查询、通知 老系统、SaaS 后台、没法对接的系统

工程原则:能用 API 就用 API,不能用才点界面。 很多教程没讲这一条,导致明明有开放接口,还在那儿模拟点鼠标——又慢又脆。

在本课的案例里,Agent 侧基本走 API(大模型平台的接口都是开的),RPA 侧基本走界面(要发布到小红书、公众号这类没有开放接口的地方)——这正是两者分工的由来。

五、⑤ 定时触发与 ⑥ 异常处理:从【能跑】到【能放心】

定时触发的三种形态:

形态 说明 典型场景
手动触发 人点一下才跑 开发调试期、临时任务
定时触发 到点自动跑 每天早上 8 点导报表
事件触发 监测到某个条件就跑(如收到邮件、文件出现) 有新订单就处理

无人值守 vs 有人值守:前者要能在没人看着的情况下跑完(对异常处理要求极高),后者可以在关键步骤弹窗让人确认。新手的第一个流程建议从【有人值守】开始。

异常处理是专业的门槛。想想这三种情况:

没有异常处理的流程 = 一个随时会炸的定时炸弹,而且因为没人看着,炸了往往第二天早上才发现。

最低要求的三件套:

  1. 关键步骤前后写日志(做到哪一步了);
  2. 失败重试 + 重试次数上限(别死循环);
  3. 失败要通知(邮件/消息,或落一个错误报告文件)。

六、动手 Demo:拆解一个真实流程

准备:纸笔,或一个文本文件。不需要软件。

第一步——挑一件事(用 1.4.1 测过工时的那件)。

第二步——把它的每个动作写成一行,格式:动作 → 对象 → 期望结果。以【每天导报表】为例:

1. 打开浏览器 → 登录后台系统 → 进入首页
2. 点击【报表】菜单 → 选择【昨日数据】 → 页面显示表格
3. 抓取表格全部行 → 翻页直到结束 → 得到完整数据
4. 打开 Excel 模板 → 粘贴数据 → 用公式算合计
5. 保存为 日期.xlsx → 移到指定文件夹 → 完成

第三步——给每一行标三件事:

行 ① 是界面操作还是API ② 可能出什么错 ③ 出错怎么办
2 界面 菜单改版、加载慢 等 10 秒重试 3 次
3 界面 翻页按钮变了、抓到空数据 判断行数,为 0 就告警
5 文件 文件被占用、磁盘满 换名字重试、记录日志

看到什么算成功:你在纸上有了一张带异常预案的动作清单——这就是一个 RPA 流程的设计图。

读结果:

30 秒实验

打开你常用的浏览器,按一次 F12(开发者工具),切到【元素/Elements】标签,然后把鼠标悬停在页面上的某个按钮上。

观察:右边高亮的那一行 HTML 就是那个按钮的【属性】——RPA 抓元素抓的就是它。

结论:所谓【RPA 认得出按钮】,本质是它在读这段 HTML。这也解释了为什么属性稳定的系统好用、天天改版的系统难用。

常见误区

  1. 【RPA 只能模拟鼠标键盘】——它也能调 API、连数据库、读写文件。分清场合用哪种,是能力问题(见第四节)。
  2. 【等待就写固定秒数】——固定等待要么不够(页面慢时出错)、要么浪费(页面快时空等)。进阶做法是【等待某个条件成立】(元素出现、文本变化)。老教程通篇写固定等待,是因为当年没得选。
  3. 【流程跑通就交付】——跑通一次不算通。真正的验收是【连续跑一周不掉链子】。所以异常处理和日志不是可选项,是交付的前提。
  4. 【出错就让它重启重跑】——有些操作不可重复执行(比如已经发出的消息、已经提交的订单),重跑会造成重复。要有【幂等】意识:重跑之前先检查【这一步到底做没做过】。
  5. 【无人值守比有人值守高级】——成熟度不是靠【没人看着】来体现的。真正专业的做法是:该自动的全自动,该确认的一点不省。
自测三问(点开对答案) 1. **找界面元素的四种方式,可靠性排序是什么?为什么?** 属性定位(最稳)> 文本定位 > 图像识别 > 坐标定位(最脆)。因为属性由系统提供、相对稳定;**图像会因分辨率/主题变化失效,坐标会因窗口移动失效**——后两者只能当兜底。 2. **什么时候该用 API、什么时候该点界面?** **能用 API 就用 API**(快、稳、不易失效);只有当对方没开放接口、或权限拿不到时,才退回到界面操作(老系统、SaaS 后台)。本课的典型分工正是:**Agent 侧走 API,RPA 侧走界面**。 3. **异常处理的三件套是什么?为什么它是交付的前提?** ① 关键步骤写日志;② 失败重试+次数上限;③ 失败要通知到人。因为**没有异常处理的定时任务是【随时会炸的炸弹】**,而无人值守时炸了往往到第二天才发现——**跑通一次不算通,连续跑一周不掉链子才算**。

相关笔记