使用selenium实现web自动化(四)-----输入验证码登录

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

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(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值