1、接上次内容,多种情况下,还需要通过验证码进行验证,于是添加验证码认证这块。
验证码登录需要导入相关模块和库,网络上验证码认证的模块也有多种,本人用的是opencv和ddddocr模块组合,导入方式采用pip3 install opencv-python、pip3 install ddddocr,成功安装即可:
import cv2
import numpy as np
import ddddocr
2、验证码处理,首先将页面的验证码截图以图片方式保存,读取照片并处理为灰色降噪,再进行保存。
# 找到验证码并将验证码以截图的方式保存
driver.find_element(By.XPATH, '//*[@id="img_vcode"]').screenshot("D:/vscode/test/picture/img.png")
# 读取彩色图像
image = cv2.imread('D:/vscode/SSLVPN/picture/img.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 保存处理后的图像为新文件
cv2.imwrite('D:/vscode/test/picture/gry.png', gray)
3、调用ddddocr框架,读取验证码,并填入输入框
ocr = ddddocr.DdddOcr()
with open('D:/vscode/test/picture/img.png', 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
# 填入验证码
driver.find_element(

本文详细介绍了如何在Python环境下,通过opencv和ddddocr库对网页验证码进行截图、预处理、OCR识别,最后结合Selenium进行自动化登录的过程。
最低0.47元/天 解锁文章
759

被折叠的 条评论
为什么被折叠?



