AstronRPA视觉识别+验证码破解:图片匹配与OCR识别保姆级教程
【免费下载链接】astron-rpaAgent-ready RPA suite with out-of-the-box automation tools. Built for individuals and enterprises.项目地址: https://gitcode.com/bijinfeng/astron-rpa
AstronRPA 是一款开箱即用的 Agent-ready RPA 自动化套件,内置视觉识别(图片匹配)、验证码破解(滑块/点击/数英)和 OCR 文字识别三大能力,让零基础新手也能快速搭建自动化脚本,彻底告别手动重复操作。
🚀 快速上手:3 步装好 AstronRPA
- 获取项目源码(如本地尚无仓库):
git clone https://gitcode.com/bijinfeng/astron-rpa启动客户端:按项目文档配置运行环境与浏览器插件(引擎代码位于 engine/components/,文档见 engine/README.zh.md)。
安装浏览器插件:打开浏览器扩展商店安装 AstronRPA 插件并登录,即可在网页中拾取元素、配合视觉组件完成自动化。
💡 提示:视觉组件主要在客户端(桌面窗口/浏览器)中工作,浏览器自动化部分依赖插件配合,架构可参考上图。
🖼 图片匹配核心:5 个 CV 指令玩转视觉识别
AstronRPA 的视觉能力由CV 组件(engine/components/astronverse-vision/)提供。它的原理很简单:截屏 → 在屏幕中寻找目标图片 → 执行鼠标/键盘操作。相比基于元素定位的方式,图片匹配对没有 DOM 的桌面软件、Canvas 页面同样有效。
组件元数据定义在 meta.json,核心实现在 cv.py。
| 指令 | 名称 | 一句话说明 |
|---|---|---|
CV.cv_click | 点击图像 | 在屏幕上找到目标图并点击(支持单击/双击、左/右/中键) |
CV.wait_image | 等待图像 | 等待目标图出现或消失后再继续流程 |
CV.is_image_exist | IF图像存在 | 判断图像存在/不存在,分支执行不同代码块 |
CV.hover_image | 鼠标悬浮 | 将鼠标移动到目标图像的指定位置 |
CV.image_input | 图像输入框输入 | 点击图像定位的输入框并输入文字 |
3 个新手必调参数:
- 匹配相似度(默认 0.95):目标图与屏幕画面的相似度阈值,最高匹配精确度为 99%。识别不稳时可调低到 0.9 试试;误点率高则调高。
- 点击位置:中心点 / 随机位置 / 九宫格指定位置,配合「横向/纵向平移」可精确定位。
- 鼠标移动方式(高级项):匀速直线、模拟人工、瞬时移动——「模拟人工」轨迹更自然,适合对行为轨迹敏感的场景。
🔓 验证码破解教程:滑块、点击、数英三步搞定
网页登录自动化最大拦路虎就是验证码。AstronRPA 的VerifyCode 组件(engine/components/astronverse-verifycode/)内置三类通用验证码识别能力,通过云端识别接口返回结果,核心实现在 verifycode.py 与 core.py。
1️⃣ 数英验证码CV 图形识别→VerifyCode.picture_code
- 适用:1-4 位 / 5-8 位数字+字母验证码,以及特殊验证码。
- 操作:拾取验证码图片元素 → 选择验证码类型 → 勾选「是否填写输入框」并拾取输入框,识别结果会自动填入。
- 输出:
code_result识别结果字符串。
2️⃣ 滑块验证码VerifyCode.slider_code
- 适用:背景图+滑块的通用验证码,支持变速滑块(拖动距离与显示距离不一致)。
- 操作:分别拾取「背景图片」和「滑块」元素;若为变速验证码,再拾取滑动小图并设置微调步长(默认 5px)。
- 细节:拖动过程采用多段随机平滑轨迹(见 html_drag_plus),更贴近人工操作;识别不准时可用高级项「偏移量(px)」手动校准。
- 输出:
drag_distance移动距离。
3️⃣ 点击验证码VerifyCode.click_code
- 适用:按顺序点击图中指定目标(如点文字、点图标)。
- 操作:拾取大背景图(需包含小指示图)→ 选择指示顺序的小图在大图上方还是下方。
- 输出:
click_positions点击坐标列表。
⚠️ 验证码识别依赖云端接口,请遵守目标网站的使用条款,仅用于合法自动化测试与自有业务场景。
🔤 OCR 文字识别:开放平台通用文本识别
除了图形识别,AstronRPA 的 AI 服务还开放了OCR 通用文本识别接口:上传图片即可提取其中文字,适用于报表截图、PDF 转文字、表单内容抓取等场景。
- 接口路由:
POST /ocr/general,实现在 ocr.py - 请求体/响应体定义见 schemas/ocr.py
- 识别成功后按用量自动扣减点数(积分逻辑见 points.py)
典型组合玩法:CV 组件截屏定位 → OCR 识别屏幕文字 → 判断结果 → 自动执行下一步操作,实现"看懂屏幕"的完整视觉闭环。
❓ 常见问题 FAQ
Q1:图片匹配总是失败?先检查目标窗口是否在前台激活(CV 组件在当前激活窗口中检索);再适当调低「匹配相似度」;确认截取的图片与屏幕实际分辨率一致(缩放过的屏幕会导致尺寸变化)。
Q2:滑块验证码拖不到准确位置?启用高级项「偏移量(px)」微调;变速验证码记得拾取滑动小图并把「微调步长」调小(如 3-5px)提升精度。
Q3:CV 组件能用于网页吗?可以。网页中 Canvas 渲染、无稳定 DOM 的元素,正是图片匹配的强项;常规 DOM 元素建议优先使用浏览器组件的 WebPick 拾取,成功率更高。
Q4:验证码识别准确吗?通用类型识别率较高,但变形严重、背景干扰极强的验证码可能失败,建议配合「失败重试」分支(CV.is_image_exist判断 + 循环)兜底。
📌 小结
AstronRPA 把最头疼的视觉识别、验证码破解、OCR 三大能力做成了开箱即用的组件:CV 组件负责"看见",VerifyCode 组件负责"过关",AI 服务负责"读懂"。配合浏览器插件与图形库拾取功能,哪怕零代码基础,也能在几十分钟内搭出第一套稳定的自动化流程。动手试试吧!
【免费下载链接】astron-rpaAgent-ready RPA suite with out-of-the-box automation tools. Built for individuals and enterprises.项目地址: https://gitcode.com/bijinfeng/astron-rpa
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考