无 API 老系统怎么自动化:网页小程序 + 桌面 RPA
企业里最难自动化的从来不是新系统,而是那些没有开放接口、还在用 IE 时代页面、却承载关键业务的老系统。本文给出三条可行路径与它们的边界。
核心结论
- 三条路径:推动系统开放 API(最稳但最慢)、数据库直连(最快但风险最高)、RPA + 网页小程序(折中方案,无需改造系统)。
- 优先选语义定位:按文本、标签、可访问性角色定位元素,比坐标或绝对 DOM 路径稳定得多,改版后维护量小一个量级。
- 写操作要设人工确认:提交、审批、删除这类不可逆动作,自动化应停在"填好待提交"而不是"直接提交"。
- 验证码不要绕:绕验证码既不稳定也有合规风险,正确做法是暂停并通知人工,或与服务方协商服务账号。
- RPA 是过渡方案,不是终态:当同一系统被自动化调用超过一定频次,应该反向推动接口建设。
一、为什么老系统是自动化黑洞
新系统通常自带 API、Webhook 与数据导出;老系统往往三者皆无:数据只能靠人在页面上点出来,导出功能只支持打印,账套结构二十年没变。结果是企业数字化程度最高的环节早已自动化,剩下的人工操作全集中在最难改的那几个系统上。
这类系统的共同特征:
- 没有开放接口,也没有可用的数据库文档。
- 页面基于陈旧框架,DOM 结构混乱,但界面多年稳定。
- 厂商已停止维护或改造成本极高。
- 业务上不可或缺,数据每天都在用。
二、三条路径的成本与风险对比
| 路径 | 改造量 | 稳定性 | 主要风险 | 适用场景 |
|---|---|---|---|---|
| 推动开放 API | 大(需厂商或内部开发) | 高 | 周期长,老系统可能无法改造 | 高频调用、长期使用 |
| 数据库直连 | 小(只读查询) | 中 | 绕过业务逻辑与权限,写操作破坏数据一致性 | 只读取数,且表结构稳定 |
| RPA + 网页小程序 | 中(无需改系统) | 中高(取决于定位方式) | 页面改版、验证码、会话超时 | 无人愿意改造、但必须自动化的系统 |
决策顺序建议:先问能不能开放接口,再问能不能只读直连,最后才用 RPA。反过来做,往往会用高维护成本换短期进度。
三、网页小程序如何工作
网页小程序的核心思路是:把任意 Web 站点(公网站点或企业内网业务系统)注册为桌面客户端内的一个可编排对象,让智能体像人一样操作它。典型能力包括:
- 页面跳转:按菜单文本或链接定位,进入指定业务页面。
- 表单填写:按标签匹配输入框,支持下拉、单选、日期控件。
- 数据提取:按表头与列名读取表格,处理分页与翻页。
- 按钮操作:识别提交、查询、导出等动作,并在关键动作前暂停确认。
与传统 RPA 相比,差异在"谁来决定下一步":传统 RPA 是固定脚本,页面稍有变化就崩;智能体可以根据页面实际内容判断当前处于哪个状态,再决定下一步动作,因此在异常分支上更耐受。
稳定性设计的六个要点
- 语义定位优先:用按钮文字、表格列名、表单标签、可访问性角色定位,避免写死像素坐标与长链选择器。
- 显式等待:每一步都等待目标元素出现,而不是固定 sleep 若干秒。
- 状态校验:每完成一步就验证一次(例如"提交后应出现成功提示"),不通过则中断并告警。
- 会话管理:登录态过期是最常见的失败原因,需要检测失效并自动重新登录,或提前刷新凭证。
- 幂等抓取:分页取数时记录已处理的唯一标识,重跑不产生重复记录。
- 人工兜底:验证码、二次确认、异常弹窗一律转为待办通知,不做硬编码破解。
| 失败现象 | 常见原因 | 应对 |
|---|---|---|
| 找不到按钮 | 页面改版或加载未完成 | 语义定位 + 显式等待 + 重试 |
| 数据只取到第一页 | 分页逻辑未处理 | 循环翻页并按唯一标识去重 |
| 中途被踢出登录 | 会话超时 | 检测登录页并自动重登 |
| 提交后重复下单 | 重试未做幂等校验 | 提交前查询该单据是否已存在 |
四、适用边界与合规提醒
- 账号合规:使用公司授权的账号,不用个人账号跑业务自动化;操作行为应可追溯到具体任务。
- 权限最小化:取数用只读账号,写操作单独授权,避免一个账号通吃。
- 不绕过安全机制:验证码、风控、频率限制都属于系统方的安全设计,绕开它们可能违反内部制度甚至法规。
- 数据范围:抓取的数据仍受数据分级约束,敏感数据不得落到自动化日志里。
- 系统方知情:对生产系统做自动化前,应与系统负责人确认,避免高峰期造成压力或触发告警。
把这几条写进自动化规范,能避免大部分"技术上可行、组织上不可行"的返工。
五、常见问题
什么是网页小程序?
把任意 Web 站点(公网站点或企业内网业务系统)注册为桌面客户端内的一个可编排对象:智能体可以打开它、跳转页面、填写表单、提取数据、点击按钮,从而在系统没有开放 API 的情况下完成端到端操作。
页面改版后自动化会不会全部失效?
取决于元素定位方式。依赖固定坐标或绝对层级最脆弱;优先用文本、标签、可访问性角色等语义特征定位,并在流程中加入元素存在性校验,改版后通常只需调整少量定位规则。
RPA 操作会不会误改数据?
风险存在,但可通过三种方式控制:用只读账号做取数、对写操作设置人工确认节点、对提交类动作做提交前快照与提交后校验。关键是把不可逆动作单独抽出来审批。
遇到图形验证码怎么办?
不建议用技术手段绕过。合规做法是让流程在验证码处暂停并通知人工处理,或与系统方协商使用服务账号与白名单机制。绕开验证码既不稳定也有合规风险。
这种方式适合什么规模的任务?
适合中等频率、人工操作耗时较长、但改造难度更大的场景,例如每日从老旧系统导出报表、批量录入单据。若任务量极大或对时延要求高,应优先推动系统方开放接口。
最后更新:2026-08-03 | 作者:DeepMetier 团队