使用Python + Selenium + ddddocr自动识别验证码登录教程

本指南介绍如何结合Python、Selenium自动化框架及ddddOCR库,实现网页验证码的自动识别并完成登录流程。

环境配置

安装Python库

确保安装以下Python库:

  • selenium: 用于自动化浏览器操作
  • ddddocr: 一个OCR工具,用于识别图像中的字符

安装命令:

pip install selenium ddddocr

安装浏览器驱动

百度解决安装

编写脚本

引入所需模块

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import ddddocr

初始化浏览器并打开登录页面

# 初始化Chrome浏览器实例
driver = webdriver.Chrome()
# 打开目标网站
driver.get('https://example.com/login')

获取图片并解析

element = driver.find_element(By.ID, 'captcha') # 定位验证码
element.screenshot('test.png') # 保存截图

ocr = ddddocr.DdddOcr(show_ad=False)
# 读取图片
with open('test.png', 'rb') as f:
  img = f.read()
# 识别图片内验证码并返回字符串
result = ocr.classification(img)
print("识别结果:",result)

输入验证码

yzm = driver.find_element(by=By.XPATH, value="//div[@class='captcha el-input']/input") # 定位账号框
yzm.clear()  # 清空默认文本
yzm.send_keys(result)

后续处理

# 登录后根据需要进行其他操作,完成后关闭浏览器
driver.quit()