自動化測試中的驗證碼識別python程式碼
在部分登入頁面中有驗證碼,在自動化測試用例中解決驗證碼問題的方案:
1.去掉驗證碼:讓開發先隱藏驗證碼,這是最簡單的方式
2.設定一個萬能驗證碼:也就是在程式碼中留個後門,這是最有效的方式
3.驗證碼識別技術
4.新增cookie,繞過登入
這裡介紹一下驗證碼識別:
(1)原理:首先是對頁面截圖--->找到驗證碼的位置--->儲存驗證碼圖片--->圖片轉文字識別驗證碼
(2)環境準備:
- 安裝pytesseract ,在python中用pip命令安裝在python\lib\site-packages下:pip install pytesseract
- 安裝PIL,在python中用pip命令安裝在python\lib\site-packages下:pip install pillow
- 安裝tesseract-OCR ,在python中用pip命令安裝在python\lib\site-packages下:pip tesseract-OCR
- 在新增環境變數TESSDATA_PERFIX,值為:D:\Python27\Tesseract-OCR\tessdata
程式碼如下:
from selenium import webdriver import time import pytesseract from PIL import Image import unittest import re import os os.chdir('..\Lib\site-packages\pytesseract') driver= webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(10) driver.get("http://...") driver.save_screenshot('d:/image/aa.png') img = driver.find_element_by_id('codeImage') location = img.location size = img.size zuobiao = (int(location['x']), int(location['y']), int(location['x']+size['width']), int(location['y']+size['height'])) print (zuobiao) i = Image.open("d:/image/aa.png") bb = i.crop(zuobiao) bb.save("d:/image/bb.jpg", "jpeg") cc = Image.open('d:/image/bb.jpg') text = pytesseract.image_to_string(cc).strip() text1 = re.sub("\D", "", text) print(text1)
遇到問題:啟動不了tesseract中的tessdata包
解決方案:
開啟pytesseract.py,修改其中的tessdata_cmd路徑為安裝路徑,
tessdata_cmd==‘..//Tesseract-OCR//tesseract.exe’
相關推薦
自動化測試中的驗證碼識別python程式碼
在部分登入頁面中有驗證碼,在自動化測試用例中解決驗證碼問題的方案:1.去掉驗證碼:讓開發先隱藏驗證碼,這是最簡單的方式2.設定一個萬能驗證碼:也就是在程式碼中留個後門,這是最有效的方式3.驗證碼識別技術4.新增cookie,繞過登入這裡介紹一下驗證碼識別:(1)原理:首先是對
軟體測試中使用coverage統計python程式碼的覆蓋率
軟體測試中使用coverage統計python程式碼的覆蓋率 1.確保電腦裡面安裝了python環境,安裝了pip。 2.使用管理員身份開啟cmd,鍵入pip install coverage,等待安裝完成。 3.在命令提示符裡面使用coverage執行python程式碼。 備註:執
網路爬蟲以及自動化測試中圖形驗證碼識別解決思路以及方法
前言 做自動化測試的朋友都知道圖形驗證碼在整個自動化執行過程中,很可能是阻礙推進的問題,可以採用萬能驗證碼(開發哥哥會流出一個供自動化測試用的),如果不通過開發預留,有以下解決方案。 解決思路 1.python3自帶光學字元識別模組tesserocr與pytesseract,可以識別簡單驗證碼; 2.稍
Web自動化測試中針對圖片驗證碼問題的常見解決思路
圖片驗證碼(Captcha)問題在自動化測試中是一個很常見的問題,也是一個很棘手的問題。圖片驗證碼設計的初衷其實就是為了防自動化,防止一些人利用自動工具惡意攻擊網站,而很不幸的是,我們所使用的一些自動化測試工具也包含在內。當然了,對付驗證碼也不是一點辦法都沒有,方法還是有很多
Web自動化測試中針對圖片驗證碼問題的常見解決思路,看看對您有沒有幫助
原文地址 圖片驗證碼(Captcha)問題在自動化測試中是一個很常見的問題,也是一個很棘手的問題。圖片驗證碼設計的初衷其實就是為了防自動化,防止一些人利用自動工具惡意攻擊網站,而很不幸的是,我們所使用的一些自動化測試工具也包含在內。當然了,對付驗證碼也不是一點辦法都沒
基於Python的Selenium自動化(3)— 實現驗證碼擷取並識別
這些天實在忙的冒煙,一大堆的專案堆在一起,沒日沒夜的加班。加上有些懶惰,學習進度一直沒有太多進展。這篇文章主要介紹前段時間抽空實現的一個功能,希望有需要用到可以得到一點啟發。 基於UI層的自動化,有一些坑在裡面,幾乎幾個每個人都會遇到的,其中之一就是註冊或登入
基於Python使用SVM識別簡單的字元驗證碼的完整程式碼開源分享
關鍵字:Python,SVM,字元驗證碼,機器學習,驗證碼識別 1 概述 基於Python使用SVM識別簡單的驗證字串的完整程式碼開源分享。 因為目前有了更厲害的新技術來解決這類問題了,但是本文作為初級入門方法,還是具有一定的學習意義的,所以就將原始碼和相關的素材開源出來。 本文雖然已經不具備
PYTHONpython自動化/selenium/adb/appium/skuli/Airtest(網易剛出的自動化ui框架)/按鍵精靈/自動化測試接單/刷瀏覽量/引流指令碼/註冊機/驗證碼識別介面等等
qq:412905523 selenium 網頁自動化框架,用於開發網頁的自動指令碼/網頁自動化測試/甚至網頁智慧機器人的模組 adb安卓自動化模組,用於開發android的自動指令碼/自動化測試/甚至android智慧機器人的模組(可以說成模組吧) appium
隨機生成驗證碼及python中的事務
join != rst row pda cep 操作 status 隨機 1.隨機生成驗證碼 # import random # print(random.random()) #0-1的小數 # print(random.randint(1,3))
python之驗證碼識別 特征向量提取和余弦相似性比較
wow gif .get extra time ade upd orm log 0.目錄 1.參考2.沒事畫個流程圖3.完整代碼4.改進方向 1.參考 https://en.wikipedia.org/wiki/Cosine_similarity https://zh.wi
Selenium2+python自動化41-繞過驗證碼(add_cookie)
option html exp 需要 輸入 操作 true .cn selenium 前言 驗證碼這種問題是比較頭疼的,對於驗證碼的處理,不要去想破解方法,這個驗證碼本來就是為了防止別人自動化登錄的。如果你能破解,說明你們公司的驗證碼嗎安全級別不高,那就需要提高級別了。 對
python tesseract-ocr 基礎驗證碼識別功能(Windows)
please 沒有 pan eas pin mage 需要 utf 文件夾 一、環境 windows 7 x64 Python 3 + 二、安裝 1、tesseract-ocr安裝 http://digi.bib.uni-mannheim.
Python Api接口自動化測試框架 代碼寫用例
簡書 場景 分享圖片 else basic UNC ant ctc ascii 公司新來兩個妹子一直吐槽這個接口測試用例用excel維護起來十分費腦費事,而且比較low(內心十分贊同但是不能推翻自己),妹子說excel本來就很麻煩的工具,於是偷偷的進行了二次改版。 變更
python 豆瓣驗證碼識別總結
ops hold 成功 驗證碼識別 濾波 put else 函數 直接 總結: pytesseract 識別比較標準的圖片 識別成功率 還是不錯的。 驗證碼的圖片識別 需要先處理好 再用pytesseract 識別 from PIL import Image
基於SVM的python簡單實現驗證碼識別
save def lse highlight pro imp bubuko uac 如果 1. 爬取驗證碼圖片 from urllib import request def download_pics(pic_name): url = ‘http://wsbs
python 驗證碼識別示例(二) 復雜驗證碼識別
def code 分享 切割 edr convert pen https lis 在這篇博文中手把手教你如何去分割驗證,然後進行識別。 一:下載驗證碼 驗證碼分析,圖片上有折線,驗證碼有數字,有英文字母大小寫,分類的時候需要更多的樣本,驗證碼的字母
python使用tesseract-ocr完成驗證碼識別
一、 tesseract-ocr C++編寫,最開始由hp編寫,後來束之高閣,最後決定貢獻給google開源。 原始碼:https://github.com/tesseract-ocr/tesseract &nb
python爬蟲時圖形驗證碼識別( tesserocr)
window環境下: 第一步:安裝tesseract:教程如下:https://www.cnblogs.com/jianqingwang/p/6978724.html 第二步:安裝 tesserocr : 到這裡下載whl版本 &
自動化:解決資料庫驗證碼問題python連線oracle
一、下載cx_Oracle 1、命令安裝 pip install cx_oracle 2、下載安裝 cx_Oracle-5.3-12c.win-amd64-py3.6-2.exe 5.
python+pillow+pytesseract+Tesseract-OCR驗證碼識別[轉]
安裝 pillow,pytesseract ,安裝該模組之後,還需要安裝 tesseract-ocr 。 (PS:如果安裝了pip,可以python的scripts檔案下,輸入cmd,然後輸入pip install pillow安裝最新版的pillow,如果需要安裝其它版本的則要自己下載