一、验证码机制的处理
先去识别元素----对元素进行操作
验证码无法自动化技术手法去解决
都是由 开发给万能码 ,或者 获取屏蔽验证码 去解决
那如果不能屏蔽,开发和你不在一起呢?
PIL (图像识别功能) 只能解决 简单图片 的处理
1、对图片降噪 固定的函数
2、灰度处理 (去除图片颜色)
3、二值化处理(锐化)
识别出来
那如果是 接口测试 呢?验证码怎么办? 万能码
下面举了2种例子 (第2个是别人分装好的,比较简单,代码较少)
import CV2 as cv
driver.find_element("id","chkd").screenshot("master_drawing.png")
time.sleep(3)
master_drawing=cv.imread("master_drawing.png")
denoised_pictrue=cv.pyrMeanShiftFiltering(master_drawing,10,100)
grayscale_picture=cv.cvtColor(denoised_pictrue,cv.COLOR.BGR2GRAY)
threshold_value,binary_picture=cv.threshold(grayscale_picture,0,255,cv.THRESH_BINARY | cv.THRESH_TRIANGLE)
cv.imwrite("binary_picture.png",binary_picture)
binary_picture="binary_picture.png"
captcha_picture=Image.open(binary_picture)
verification_code=pytesseract.image_to_string(captcha_picture)
print("识别到的验证码为:",verification_code)
driver.find_element("id","TxtChkCode").