按钮是图片、系统没接口?我用找图加OCR把它自动化了

接了个活:公司用了八年的行业客户端,要每天从里面导数据。这软件没有接口,界面是自绘的,元素捕获抓不到,连导出按钮都是一张贴图。

以前每天人工点一遍,十分钟,无聊但不敢错。后来我用光刃RPA 把它做成了机器人,核心思路就一句话:元素抓不到,就让机器人看。一、三件套兜底,总有一个抓得到这类老系统有一套降级打法:1. 先试窗口元素捕获,标准控件直接读控件树,最稳;2. 抓不到就图像找图,把按钮截成小图,让机器人在屏幕上找坐标;3. 图里有字就上 OCR,识别文字顺便定位。我这套流程里,三个都用上了。二、找图:把贴图按钮变成坐标做法很笨但有效:把那个导出按钮截图,裁得只剩按钮本体,流程里用图像找图拿到坐标,再接一个鼠标点击。有个坑必须说:截图要和实际显示同分辨率、同缩放。我们电脑是 125% 缩放,头一版截图是在系统默认缩放下截的,死活找不到,查了半天才发现是缩放对不上。三、OCR:把图片里的数字读出来界面上有块本月累计:8,732.50,要读进流程做比对。用 OCR 识别区域框住那块,返回文本后用文本指令清洗成数字,存进变量。数字清晰的话识别很少出错;实在不放心,就在前面加一步裁剪放大,准确率还能再提一截。四、稳定性是磨出来的老系统自动化最怕偶尔不灵,我加了三道保险:1. 找图失败自动重试 3 次,间隔 1 秒;2. 还找不到就截图存档加写日志,跑完看一眼日志就知道哪天出的岔子;3. 鼠标用拟人轨迹移动、点击加随机延时,有些老软件会检测鼠标像不像机器,直线瞬移容易被它盯上。跑了两周,一天都没掉过链子。五、丑话说在前面图像方案的稳定性天然不如元素定位:换分辨率、换主题、界面改版,截图都得重做。所以我的顺序永远是:能用元素就用元素,实在不行才上图像,并且一定配日志告警。这套东西不难,难的是你敢把看起来只能人做的活,交给机器人试一次。

相关推荐
ZhuoAIStage7 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
Ruiery8 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
Decay__9 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
海绵宝宝的月光宝盒9 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad
江华森10 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼11 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by2099912 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina12 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼12 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测
cq林志炫13 小时前
两个Linux服务器之间同步文件
linux·运维·服务器