强大的图形验证码识别工具ddddocr
自动化测试再也不用怕图形验证码了-带带弟弟OCR
我们在做UI自动化测试时,如果是线上系统一般登录界面都有图形验证码,selenium库对这块没有好的处理方法和工具,今天给大家介绍下免费开源的超级好用的图形识别工具ddddocr。
使用pip安装ddddocr
python环境要求<3.9。
pip install ddddocr
使用
-
字母数字验证码 google搜索字母数字验证码
python代码如下:
ocr = ddddocr.DdddOcr(old=True)
with open("z1.jpg", 'rb') as f:
image = f.read()
res = ocr.classification(image)
print(res)
识别结果如下:
3n3d
8342
-
点选类验证码 网易点选类验证码
python代码如下:
det = ddddocr.DdddOcr(det=True)
with open("eb.jpg", 'rb') as f:
image = f.read()
poses = det.detection(image)
im = cv2.imread("eb.jpg")
for box in poses:
x1, y1, x2, y2 = box
im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)
cv2.imwrite("result.jpg", im)
识别结果如下:
-
滑块验证码
如豆瓣的滑块验证的识别:
python代码如下:
import ddddocr
det = ddddocr.DdddOcr(det=False, ocr=False)
with open('hycdn.png', 'rb') as f:
target_bytes = f.read()
with open('background.jpg', 'rb') as f:
background_bytes = f.read()
res = det.slide_match(target_bytes, background_bytes, simple_target=True)
print(res)
识别结果如下:
{'target_y': 0, 'target': [486, 126, 622, 262]}
target属性的前两个值正好和豆瓣验证滑块url中提交的ans。
如果对你有帮助请关注点赞收藏加转发