自动化脚本无法处理验证码?Python图片识别库Tesseract实战


前言:

在Ui测试的时候,有时我们会遇到”元素以图片的形式展示内容”(最经典的案例使验证码).这时传统的文档解析方案就失效了.
但是,Python中你可以轻易的使用ocr(光学字符识别)技术.对图片元素中的文字进行提取.从而解决技术难题.具体需要以下3步:

①安装Tesseract-ocr服务

②安装pytesseract-python驱动库

③识别图片

1.关于Tesseract

①Tesseract是一款由Google赞助的开源OCR。

②Tesseract 已经有 30 年历史,开始它是惠普实验室的一款专利软件,然后在 2005 年开源,自 2006 年后由 Google 赞助进行后续的开发和维护。

③在 1995 年 Tesseract 曾是世界前三的 OCR 引擎,而在现在的免费 OCR 引擎中,其识别精度也仍然是出类拔萃的。因为其免费与较好的效果,许多的个人开发者以及一些较小的团队在使用着 Tesseract ,诸如验证码识别、车牌号识别等应用中,不难见到 Tesseract 的身影。

④Tesseract(/‘tesərækt/) 这个词的意思的本意是”超立方体”.不过这里用到的,是一款以其命名的开源 OCR(Optical Character Recognition, 光学字符识别) 软件。

*所谓 OCR 是图像识别领域中的一个子领域,该领域专注于对图片中的文字信息进行识别并转换成能被常规文本编辑器编辑的文本。

安装:


1.安装Tesseract.exe

安装过程中唯一要注意的是:
在勾选组件的时候勾选中文扩展

之后一路点击next即可

配置环境变量:
1.需要在path里配置
2.需要新建一个系统变量 TESSDATA_PREFIX

免费领取学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:mashang-zz

检查tesseract服务是否安装成功
tesseract -v

2.关于pytesseract

pytesseract库为我们提供了调用Tesseract的API,即只要系统中有Tesseract命令.就可以用python代码来驱动识别

安装python的api库
想要使用python去调用pytesseract,就需要安装pytesseract库。安装命令如下:
pip install pytesseract

*已知bug:库源代码路径硬编码
安装完成后,还需要进行一步设置。由于pytesseract库的代码里调用Tesseract服务的路径写的有点问题(windows环境),所以这里手动修改pytesseract.py


打开原代码,修改这里的调用路径

3.在python代码中调试

①准备好一张用于识别的图片(如下)


②编写代码(如图)

效果如图:


可以看到,图片中的文字已经被转化为Python字符串变量了 

好了 学习也就到此结束了 想了解更多相关知识请关注我吧!下面是小编想对读者大大们写的一封信哦! 记住要认真读哦! 

猜你喜欢

转载自blog.csdn.net/Liuyanan990830/article/details/123264160