不少小夥伴們反饋,在web自動化的過程當中,常常會被登陸的驗證碼給卡住,不知道如何去經過驗證碼的驗證。python
今天專門給你們來聊聊驗證碼的問題,通常的狀況下遇到驗證碼咱們可能均可以找開發去幫忙解決,關閉驗證碼,或者給一個萬能的驗證碼!web
那麼若是開發不提供幫助的話,咱們本身有沒有辦法來處理這些驗證碼的問題呢?ide
答案固然是有的,常見的驗證碼通常分爲兩類,一類是圖文驗證碼,一類是滑動驗證碼!測試
關於圖文識別的驗證碼,以前已經出了相關的識別解決方案,今天就不作過多的介紹了,有興趣的小夥伴能夠私聊領取配套的視頻資料。視頻
今天咱們主要來聊聊滑動驗證碼如何去識別破解。對象
關於滑動驗證碼破解的思路大致上來說就是如下兩個步驟:blog
一、獲取滑塊滑動的距離圖片
二、模擬拖動滑塊,經過驗證。開發
聽起來是比較簡單,可是獲取滑塊滑動的距離,大多數小夥伴沒有思路,不知道怎麼去獲取。自動化
其實要獲取下來也不難,關於這種滑動的驗證碼,滑塊和缺口背景都是分別是一張獨立的圖片
咱們能夠把這兩張圖片,下載下來藉助於圖像識別的技術,去識別缺口在背景圖中的位置,而後減去滑塊當前所在位置,就能夠得出須要滑動的距離。
這個時候不少小夥伴會想圖像識別技術我不會啊,不會沒有關係,後面會給到你們一個封裝好的滑塊識別模塊
只要你傳入滑塊和缺口背景圖的元素節點就能計算出滑塊的缺口位置。
話很少說,咱們先來看一個案例(QQ空間登陸),這邊用到了一個我本身封裝的滑動距離識別的模塊slideVerfication
有須要的小夥伴能夠私聊獲取。qq空間登陸案例實現步驟以下:
一、建立一個driver對象,訪問qq登陸頁面
二、輸入帳號密碼
三、點擊登陸
四、模擬滑動驗證
關於滑動驗證碼的識別問題就這樣解決了,那麼接下來給你們來說講封裝的slideVerfication這個模塊的識別原理
其實關於這個模塊圖像識別,也是藉助了第三方的圖像處理模塊來進行識別的
python中有不少現成的用來處理圖片的庫,這邊我使用的是opencv-python來進行識別的。
slideVerfication模塊上面用到的兩個方法的部分參考代碼以下:
關於滑動驗證碼識別就給你們分享到這裏了,關注我獲取更多測試資料。