前言
在我们的日常测试工作中,验证码绝对是很让我们头疼的一个东西,图形验证码,滑块验证码等场景阻碍着我们自动化测试的执行。那么,我们一直说的万能的Python,能不能帮我们解决让我们无比头疼的验证码问题呢?答案是肯定的,可以。下面我们就介绍一下Python的简单实用的识别验证码的库 ddddocr ,这个库简称带带弟弟ocr。
环境安装
ddddocr库目前支持的版本为Python3.9以下,所以版本太高的Python暂时是使用不了这个库的。
ddddocr支持Windows,Linux,Mac等系统,但是对M系列芯片的Mac电脑有限制,如下:
注:暂时不支持Macbook M1(X),M1(X)用户需要自己编译onnxruntime才可以使用
安装命令,还是一样的pip命令安装
pip install ddddocr
因为库比较大,所以建议使用国内源安装,速度会更快一些,使用如下命令:
pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple/
图形验证码识别
我们经常遇到的图形验证码主要是纯数字,纯字母,数字字母组合,下面我们通过ddddocr库来进行逐一的识别看看是否能够准确识别这三种验证码。
- 纯数字验证码
验证码图片如下:
代码如下:
import ddddocr # 导入 ddddocr
ocr = ddddocr.DdddOcr() # 实例化
with open('ocr1.jpg', 'rb') as f: # 打开图片
img_bytes = f.read() # 读取图片
res = ocr.classification(img_bytes) # 识别
print(res)
运行结果如下图:
- 纯字母验证码
验证码图片如下:
代码如下:
import ddddocr # 导入 ddddocr
ocr = ddddocr.DdddOcr() # 实例化
with open('ocr5.png', 'rb'