前言:
在Ui测试的时候,有时我们会遇到”元素以图片的形式展示内容”(最经典的案例使验证码).这时传统的文档解析方案就失效了.
但是,Python中你可以轻易的使用ocr(光学字符识别)技术.对图片元素中的文字进行提取.从而解决技术难题.具体需要以下3步:
②安装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
检查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字符串变量了
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。