有了這個Python庫,免費實現驗證碼識別!

博為峰網校發表於2023-03-31

前言

在做UI自動化時,無論是APP還是Web在登入頁面經常會遇到需要輸入驗證碼的時候,網上也有很多方法進行幫助我們,比如透過百度OCR的介面或者其他平臺的開源介面,但是大多數都是收費的,對於我們個人學習,非常不友好,以前小編也分享過,今天小編再介紹一個python的開源庫,帶帶弟弟ocr(ddddocr) 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

ddddocr

Github:

安裝: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)

透過上述程式碼可以看出來,使用方法非常簡答,我們只需要匯入庫,讀取圖片資訊,然後就可以進行識別驗證碼了,非常方面,接下來跟著小編一起來例項操作下。

例項操作

網址:

操作步驟

1.訪問上述網址透過F12進行獲取驗證碼的地址,然後透過介面請求下載並儲存到本地。

2.呼叫ddddocr的庫,將上述步驟中儲存下來的圖片進行識別

3.定位驗證碼輸出框,輸入上述步驟中識別到的驗證碼

程式碼操作

#coding:utf-8

import ddddocr

import requests

fromseleniumimport webdriver

ocr=ddddocr.DdddOcr()

driver=webdriver.Chrome()

#開啟網址頁面

driver.get(')

#獲取驗證碼圖片的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的方法並透過例項介紹瞭如何識別驗證碼的操作,大家可以根據公司的專案進行自行嘗試,感謝您的閱讀,希望對您有所幫助。

最後:

可以到我的個人號:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2943192/,如需轉載,請註明出處,否則將追究法律責任。

相關文章