影刀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识别出来的文字可能有干扰字符。比如验证码是XY68OCR可能识别成X Y68或XY6B。这时候需要对结果做清洗。影刀有替换文本指令可以用来去掉多余空格原始文本ocr_result查找内容 一个空格替换为“”空等于删除结果保存到ocr_result_clean如果需要更复杂的清洗比如只保留数字可以用Python指令写正则importre ocr_resultGetVar(ocr_result)cleanre.sub(r[^0-9a-zA-Z],,ocr_result)SetVar(ocr_result_clean,clean)这段代码的意思是只保留数字和英文字母其他字符全部删掉。鼠标键盘与图像操作有时候验证码图片不是一个直接的img标签而是canvas画布动态生成的。这时候普通的元素截图截不到内容。解决方案是用鼠标键盘操作先点击验证码区域让它获得焦点然后按CtrlA全选如果支持复制的话最后用剪贴板内容代替OCR。也可以用影刀的屏幕截图指令指定一个坐标区域直接截图不依赖网页元素。这是图像识别的思路。进阶技能循环重试机制OCR不是100%准确所以需要加循环重试。影刀的For次数循环可以设定重试次数。比如重试3次TEMU店群矩阵自动化运营核价报活动循环3次截图OCR识别如果结果不为空且满足条件跳出循环否则刷新验证码继续循环循环里用跳出循环指令当识别成功时直接退出不要无意义地继续跑。平台实战一个完整的验证码识别流程我来串一遍完整的流程你照着做就能看到效果打开网页打开想要自动登录的网站截图验证码元素截图保存到本地OCR识别用验证码识别指令选纯数字1日志输出打印识别结果确认正确If判断结果不为空是-第6步否-回第2步刷新输入验证码把识别结果填到输入框点击提交一共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自动化 #网页自动化作者林焱

相关新闻