You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Selenium自动识别填写图片验证码的实现方案咨询

Selenium实现图片数字验证码自动识别的解决方案

可用第三方库说明

你已经安装的captcha-solver是可直接使用的识别库,除此之外更适合新手使用的轻量识别库还有ddddocr,无需额外安装本地依赖,对简单数字验证码识别准确率可达95%以上。

核心实现步骤

  • 定位页面中的验证码图片元素和验证码输入框元素
  • 截取验证码元素的图片内容(或直接获取图片链接下载二进制内容)
  • 调用识别库解析图片中的数字
  • 将识别结果通过send_keys方法填入输入框即可

captcha-solver 具体调用方法

该库支持多种识别后端,针对简单数字验证码推荐搭配Tesseract后端使用,使用前需保证本地已安装Tesseract程序。
示例调用代码如下:

from selenium import webdriver
from captcha_solver import CaptchaSolver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 初始化浏览器
browser = webdriver.Chrome("/Users/yilmaz/Desktop/chromedriver")
browser.get("https://medeczane.sgk.gov.tr/eczane/login.jsp")
time.sleep(2)

# 1. 定位验证码元素
captcha_img = browser.find_element(By.XPATH, '//img[@alt="Güvenlik Anahtarı"]')
# 2. 截取验证码元素图片保存到本地
captcha_img.screenshot('captcha.png')

# 3. 初始化识别器,使用Tesseract后端
solver = CaptchaSolver('tesseract')
# 识别图片内容
raw_data = open('captcha.png', 'rb').read()
captcha_code = solver.solve_captcha(raw_data)

# 4. 填入验证码
captcha_input = browser.find_element(By.NAME, 'guvenlikAnahtari')
captcha_input.send_keys(captcha_code)

# 后续可继续填写用户名密码提交表单

更易用的替代方案:ddddocr

如果不想安装额外的Tesseract依赖,推荐使用ddddocr库,安装命令pip install ddddocr,使用示例如下:

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

browser = webdriver.Chrome("/Users/yilmaz/Desktop/chromedriver")
browser.get("https://medeczane.sgk.gov.tr/eczane/login.jsp")
time.sleep(2)

# 定位并截取验证码
captcha_img = browser.find_element(By.XPATH, '//img[@alt="Güvenlik Anahtarı"]')
captcha_bytes = captcha_img.screenshot_as_png

# 初始化识别器
ocr = ddddocr.DdddOcr(show_ad=False)
captcha_code = ocr.classification(captcha_bytes)

# 填入验证码
browser.find_element(By.NAME, 'guvenlikAnahtari').send_keys(captcha_code)

注意事项

  • 如果验证码识别失败,可以调用captcha_img.click()刷新验证码后重新识别
  • 若页面加载速度慢,可适当增加time.sleep等待元素加载完成
  • 针对带复杂干扰线、扭曲的验证码,可搭配付费验证码识别接口使用,识别准确率更高

内容的提问来源于stack exchange,提问作者Yılmaz Kahya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:06:06