当前位置: 首页 > news >正文

影刀RPA新手教程:OCR文字识别完全指南——让影刀读懂图片里的文字

影刀RPA新手教程:OCR文字识别完全指南——让影刀读懂图片里的文字

小张是个行政文员,每天有个烦人的工作——从系统里截图,再把截图里的编号手动敲进Excel。

一张两张还好,一天几十张,眼睛都花了,还经常敲错数字。

她问我:“有没有办法让电脑自己读图片里的字?”

我说有,这叫OCR。

什么是OCR,一句话讲清楚

OCR就是"光学字符识别"的缩写,说人话就是:让电脑看图片,把图片里的文字"读"出来变成能复制的文字。

你手机拍照、然后提取照片里的文字,用的就是OCR。影刀RPA自带OCR功能,不需要装额外的东西。

我第一次用OCR是在一个注册账号的流程里。网站有验证码,每次都要人工看、人工填。后来发现影刀能自动识别验证码,效率一下子提了十倍。

安装与配置

打开影刀RPA客户端,OCR功能是内置的,不需要单独安装插件。

但有个小细节要注意:OCR需要调用影刀的AI引擎,需要联网才能用。如果你在离线环境跑流程,OCR指令会报错。

在指令面板左侧搜索"OCR",你会看到好几个指令:验证码识别、通用文字识别、表格OCR等等。今天我们从最简单的"通用文字识别"开始。

准备工作:截取一张图片

我们得先让影刀拿到一张图片。最简单的方法是截图。

影刀有个指令叫"元素截图",在"网页自动化"分组里。点开它,配置两个参数:

  • 目标元素:你要截哪个区域。可以用录制工具在页面上点一下,影刀会自动生成XPath。比如//img[@class=‘captcha’],意思就是找页面上class是captcha的那张验证码图片。

  • 保存路径:截图存到哪里。写成"C:\temp\captcha.png"。

我当初踩过一个坑:保存路径的文件夹必须提前存在。影刀不会自动帮你创建文件夹,直接报错。所以要么手动创建temp文件夹,要么在执行指令之前加一步"新建文件夹"。

执行OCR识别

拼多多店群自动化报活动上架!

截图拿到了,接下来用"通用文字识别"指令。

这个指令的配置很简单,就两个关键参数:

  • 图片路径:你刚才截图保存的位置,比如"C:\temp\captcha.png"。
  • 结果保存到:选一个变量名,比如ocr_result。识别出来的文字会存到这个变量里。

点运行,如果你的验证码是清晰的标准字体的数字或字母,识别率能到95%以上。

我在项目中遇到过一个案例:验证码有干扰线,纯数字的验证码,用"通用文字识别"准确率只有60%左右。后来换成影刀专门的"验证码识别"指令,选了"纯数字1"类型,准确率直接飙到99%。

所以提醒一句:如果是验证码场景,别用通用文字识别,用专门的验证码识别指令。

变量与数据类型

OCR识别结果存在变量里。在影刀里,变量的概念很简单——就是一个装数据的容器。

刚才的ocr_result变量,它的数据类型是"字符串"。字符串就是一段文字,比如"AB3X"。

你可以用"日志输出"指令把变量的值打印出来,看看OCR到底读到了什么。在流程画布上加一个日志输出,输出内容填ocr_result,运行后就能在日志面板看到识别结果。

我调试OCR的时候,都会先打印日志,确认识别正确了,再继续往下写其他步骤。这个习惯帮我省了无数时间。

流程控制:判断OCR是否成功

OC识别不一定100%成功。有时候图片太模糊,识别结果可能是空字符串。

这时候需要用"If判断"指令来处理。逻辑很简单:

如果 ocr_result 不等于 空 就 把识别结果填入输入框 否则 就 刷新验证码,重新截图识别

在影刀里,If判断是一个指令节点,有两个分支:条件满足走左边,条件不满足走右边。

条件表达式写成:ocr_result != “”。这里的!=是"不等于"的意思,""是两个英文双引号中间没东西,表示空字符串。

这就是流程控制的核心思想——让流程自己判断情况,而不是傻傻地一条道走到黑。

网页自动化:填入识别结果

OCR读出来了,下一步是把文字填到网页输入框里。

在"网页自动化"分组里找到"输入文本"指令。配置两个参数:

  • 目标元素:用录制工具点击网页上的验证码输入框,影刀会自动生成类似//input[@name=‘captcha’]这样的XPath。

  • 输入内容:填变量名ocr_result。

CSS选择器也能定位元素,比如input[name=“captcha”]。XPath和CSS两种方式都能用,看个人习惯。我一般先用录制工具生成XPath,如果XPath不稳定(比如id会变),再手写CSS选择器。

数据处理:清洗OCR结果

OCR识别出来的文字可能有干扰字符。比如验证码是"XY68",OCR可能识别成"X Y68"或"XY6B"。

这时候需要对结果做清洗。影刀有"替换文本"指令,可以用来去掉多余空格:

  • 原始文本:ocr_result
  • 查找内容:" "(一个空格)
  • 替换为:“”(空,等于删除)
  • 结果保存到:ocr_result_clean

如果需要更复杂的清洗,比如只保留数字,可以用Python指令写正则:

importre ocr_result=GetVar("ocr_result")clean=re.sub(r'[^0-9a-zA-Z]','',ocr_result)SetVar("ocr_result_clean",clean)

这段代码的意思是:只保留数字和英文字母,其他字符全部删掉。

鼠标键盘与图像操作

有时候验证码图片不是一个直接的img标签,而是canvas画布动态生成的。这时候普通的"元素截图"截不到内容。

解决方案是用鼠标键盘操作:先点击验证码区域让它获得焦点,然后按Ctrl+A全选(如果支持复制的话),最后用剪贴板内容代替OCR。

也可以用影刀的"屏幕截图"指令,指定一个坐标区域直接截图,不依赖网页元素。这是图像识别的思路。

进阶技能:循环重试机制

OCR不是100%准确,所以需要加循环重试。

影刀的"For次数循环"可以设定重试次数。比如重试3次:

TEMU店群矩阵自动化运营核价报活动

  • 循环3次
    • 截图
    • OCR识别
    • 如果结果不为空且满足条件,跳出循环
    • 否则,刷新验证码,继续循环

循环里用"跳出循环"指令,当识别成功时直接退出,不要无意义地继续跑。

平台实战:一个完整的验证码识别流程

我来串一遍完整的流程,你照着做就能看到效果:

  1. 打开网页(打开想要自动登录的网站)
  2. 截图验证码(元素截图,保存到本地)
  3. OCR识别(用验证码识别指令,选"纯数字1")
  4. 日志输出(打印识别结果,确认正确)
  5. If判断(结果不为空?是->第6步,否->回第2步刷新)
  6. 输入验证码(把识别结果填到输入框)
  7. 点击提交

一共7个节点,半小时就能跑通。当时我做完这个流程后,那种"让电脑替我看了"的成就感,到现在还记得。

整个流程如果要拆分,可以把"截图OCR"部分封装成子流程。主流程里调用子流程,传入验证码元素的XPath,返回识别结果。这就是子流程的思想。

系统联动

OCR识别结果不仅可以填到网页上,还能写进Excel、发飞书通知、存到数据库。

比如你做了一个批量注册的流程,可以把每次注册用到的验证码和识别结果记录到Excel里,方便后面分析哪些网站的验证码容易识别,哪些需要调整策略。

也可以接入飞书机器人:当OCR连续失败3次时,发送一条飞书消息通知人工介入。这个功能在home.linyan.cloud上有详细的配置模板,可以参考。

工程化规范

写好的流程要规范化命名。变量名要见名知义,不要用a、b、c这种。ocr_result、captcha_path这种就很清晰。

指令节点也要加上注释。右键节点,选"添加注释",写上这个步骤在做什么。团队协作时别人一看就懂。

常见报错与解决方案

OCR识别结果为空的解决:

  • 检查图片路径是否正确,文件是否存在
  • 确认网络连接正常,OCR需要联网
  • 试试调整截图区域,确保文字清晰可见

XPath定位不到验证码元素:

  • 检查页面是否iframe嵌套,需要先切换到iframe
  • 用CSS选择器代替XPath试试
  • 增加"等待元素出现"指令,等页面加载完再截图

#影刀RPA #RPA教程 #影刀新手教程 #OCR文字识别 #自动化办公 #Python自动化 #网页自动化

作者:林焱

http://www.cnnetsun.cn/news/3035291.html

相关文章:

  • 海王IM即时通讯----沟通工具的增多,并未带来协作效率的同步提升
  • Spring AI 集成 DeepSeek 原生供应商:告别 OpenAI 兼容层,获取结构化推理过程
  • OSINT Cheat Sheet:一份覆盖全场景的开源情报工具速查表
  • RSS 生态全收录:一份持续更新的资源清单
  • Query Loop 如何驱动任务闭环
  • YOLO检测头改进- 第38篇:Anchor-Free与Anchor-Based检测头融合方案
  • UnityUI中使用中文文本
  • 2026上海小程序开发公司排行:哪家好?商城、会员与预约项目怎么选
  • 【JAVA毕设源码分享】基于SpringBoot的智慧医疗问诊系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 紫外线变色硅胶垫片,为您的防晒衣加上一双“慧眼”
  • 除了大厂算法岗,AI大模型应用开发还能做什么?这5个方向缺口
  • 【Springboot毕设全套源码+文档】基于SpringBoot的停车管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 终于找到免费开源TTS模型,克隆声音不要钱,本地电脑也能跑
  • 【信道估计】太赫兹集成UM-MIMO和IRS系统的混合球面与平面波信道建模与估计【含Matlab源码 15665期】
  • 手把手教你用8款AI论文写作软件,极速搞定各类论文
  • 专业级AI无人直播系统
  • K-431S高性能增韧型瞬干胶技术参数与选型参考
  • playwright-setInputFiles 上传文件
  • 2026年GEO优化系统源码如何选?三大核心指标帮你避坑
  • 道歉声明登报如何写?道歉声明登报咋办理?多少钱?
  • 【朱红大漆戗金梅花碗】一剪红梅献祖国
  • 选题指导,LW(文理科均可)
  • 2026年泉州GEO优化优质服务商最新推荐
  • 重塑创业思维、培养创新能力必看书籍推荐
  • 帝国理工学院研究团队破解“电力调度难题“
  • 斯坦福、伯克利等:如何从零开始“喂饱“一个能干活的AI智能体?
  • 在 ComfyUI 中遇到 “Image blocked by safety filter” 提示
  • 什么是描述性统计?它在数据分析中的作用是什么?
  • 第03课:GDB 常用的调试命令概览
  • 如何分析干部队伍年龄结构,找准“盖层”和“断层”?