1. 程式人生 > >自動化測試中的驗證碼識別python程式碼

自動化測試中的驗證碼識別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,如果需要安裝其它版本的則要自己下載