问题总结一

一、验证码机制的处理

先去识别元素----对元素进行操作  
验证码无法自动化技术手法去解决
都是由 开发给万能码 ,或者 获取屏蔽验证码 去解决

那如果不能屏蔽,开发和你不在一起呢?
PIL  (图像识别功能)   只能解决 简单图片 的处理
1、对图片降噪  固定的函数
2、灰度处理 (去除图片颜色)
3、二值化处理(锐化)  
识别出来
那如果是 接口测试 呢?验证码怎么办? 万能码

下面举了2种例子 (第2个是别人分装好的,比较简单,代码较少)
# 导包cv
import CV2 as cv  #pip install opencv_python -i   https://mirrors/aliyun.com/pypu/simple/

# 识别验证码处理

#保存验证码图片到本地
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)

# 使用PIL打开图像转化为图像对象,并使用pytesseract进行图片识别
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").
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值