很多小伙伴們反饋,在web自動化的過程中既绩,經(jīng)常會被登錄的驗證碼給卡住概龄,不知道如何去通過驗證碼的驗證。
今天專門給大家來聊聊驗證碼的問題饲握,一般的情況下遇到驗證碼我們可能都可以找開發(fā)去幫忙解決私杜,關閉驗證碼,或者給一個萬能的驗證碼救欧!
那么如果開發(fā)不提供幫助的話衰粹,我們自己有沒有辦法來處理這些驗證碼的問題呢?
答案當然是有的颜矿,常見的驗證碼一般分為兩類寄猩,一類是圖文驗證碼,一類是滑動驗證碼骑疆!
關于圖文識別的驗證碼田篇,之前已經(jīng)出了相關的識別解決方案,今天就不做過多的介紹了箍铭,有興趣的小伙伴可以私聊領取配套的視頻資料泊柬。
今天我們主要來聊聊滑動驗證碼如何去識別破解。
滑動驗證破解思路
關于滑動驗證碼破解的思路大體上來講就是以下兩個步驟:
1诈火、獲取滑塊滑動的距離
2兽赁、模擬拖動滑塊,通過驗證冷守。
聽起來是比較簡單刀崖,但是獲取滑塊滑動的距離,大多數(shù)小伙伴沒有思路拍摇,不知道怎么去獲取亮钦。
其實要獲取下來也不難,關于這種滑動的驗證碼充活,滑塊和缺口背景都是分別是一張獨立的圖片
我們可以把這兩張圖片蜂莉,下載下來借助于圖像識別的技術,去識別缺口在背景圖中的位置混卵,然后減去滑塊當前所在位置映穗,就可以得出需要滑動的距離。
這個時候很多小伙伴會想圖像識別技術我不會啊幕随,不會沒有關系蚁滋,后面會給到大家一個封裝好的滑塊識別模塊
只要你傳入滑塊和缺口背景圖的元素節(jié)點就能計算出滑塊的缺口位置。
案例講解
話不多說,我們先來看一個案例(QQ空間登錄),這邊用到了一個我自己封裝的滑動距離識別的模塊slideVerfication
有需要的小伙伴可以私聊獲取枢赔。qq空間登錄案例實現(xiàn)步驟如下:
1澄阳、創(chuàng)建一個driver對象,訪問qq登錄頁面
2踏拜、輸入賬號密碼
3、點擊登錄
4低剔、模擬滑動驗證
實現(xiàn)代碼
運行效果:
關于滑動驗證碼的識別問題就這樣解決了速梗,那么接下來給大家來講講封裝的slideVerfication這個模塊的識別原理
其實關于這個模塊圖像識別,也是借助了第三方的圖像處理模塊來進行識別的
python中有很多現(xiàn)成的用來處理圖片的庫襟齿,這邊我使用的是opencv-python來進行識別的姻锁。
slideVerfication模塊上面用到的兩個方法的部分參考代碼如下:
關于滑動驗證碼識別就給大家分享到這里了,關注我獲取更多測試資料猜欺。
如果對python自動化測試位隶、web自動化、接口自動化开皿、移動端自動化涧黄、面試經(jīng)驗交流等等感興趣的測試人,可以關注微信公眾號:愛碼小哥赋荆,獲取軟件測試工程師大廠面試資料笋妥!