在做UI主动化时,无论是APP还是Web在登录页面常常会遇到必要输入验证码的时候,网上也有许多方法进行帮助我们,比如通过百度OCR的接口或者其他平台的开源接口,但是大多数都是收费的,对于我们个人学习非常不友爱。
以前小编也分享过,今天小编再介绍一个python的开源库——带带弟弟ocr(ddddocr)。
ddddocr
Github:https://kgithub.com/sml2h3/ddddocr
安装:pip install ddddocr
python要求:<=3.9
使用方法:
- # coding:utf-8
- import ddddocr
- # 对ddddocr进行实例化
- ocr = ddddocr.DdddOcr()
- # 读取文件
- with open('test.png', 'rb') as f:
- # 读取图片信息
- img_bytes = f.read()
-
- # 识别验证码
- res = ocr.classification(img_bytes)
- print(res)
复制代码 通过上述代码可以看出来,使用方法非常简答,我们只必要导入库,读取图片信息,然后就可以进行辨认验证码了,非常方面,接下来跟着小编一起来实例操纵下。
实例操纵
网 址
https://v3pro.houjiemeishi.com/PC/pages/login/login.html
操 作 步 骤
1.访问上述网址通过F12进行获取验证码的地址,然后通过接口请求下载并保存到当地。
2.调用ddddocr的库,将上述步调中保存下来的图片进行辨认。
3.定位验证码输出框,输入上述步调中辨认到的验证码。
代码操纵
- # coding:utf-8
- import ddddocr
- import requests
- from selenium import webdriver
- ocr = ddddocr.DdddOcr()
- driver = webdriver.Chrome()
- # 打开网址页面
- driver.get('http://v3pro.houjiemeishi.com/PC/pages/login/login.html')
- # 获取验证码图片的url地址
- img_url = driver.find_element_by_class_name('codeImg').get_attribute('src')
- # 通过接口请求url地址,并保存在本地
- r = requests.get(img_url)
- with open('1111.jpg', 'wb+') as f:
- f.write(r.content)
- # 再次读取图片信息
- with open('1111.jpg', 'rb')as f2:
- img_bytes = f2.read()
- # 通过ddddocr进行识别验证码
- res = ocr.classification(img_bytes)
- print('识别的验证码是:'+res)
- # 进行输入验证码内容
- driver.find_element_by_class_name('ipt2').send_keys(res)
复制代码 代码按照步调誊写完成后,进行运行程序,发现验证码输入框,已经输入精确的验证码内容。
总结
小编简单的介绍了如何使用ddddocr的方法并通过实例介绍了如何辨认验证码的操纵,各人可以根据公司的项目进行自行尝试,感谢您的阅读,希望对您有所帮助。
-End
金三银四招聘季到了,迩来找工作的小同伴和在职场中蠢蠢欲动的小同伴也多了起来,然而找工作的人多,求职套路多,职场标题也多。热心的你,想必不愿看到别人在本身曾经履历过的痛苦中挣扎……
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们假如必要可以自行免费领取 【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战堆栈,这个堆栈也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |