微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python+selenium+Tesseract-OCR识别图片验证码

#获取图片验证码
#pip install PyTesseract  下载 PyTesseract模块
import PyTesseract
# 链接:https://pan.baidu.com/s/1zi-pky5oPdcGFl5nI8BAnw
# 提取码:dyxt
# 下载 tesseract-ocr工具然后安装

#导入PIL模块中的 Image,ImageEnhance 模块
from PIL import Image,ImageEnhance
from selenium import webdriver
from time import sleep

#例:多有米后台管理系统登录
driver = webdriver.Chrome()
driver.get('http://192.168.244.128:8080/manage/')
driver.implicitly_wait(10)
driver.maximize_window()

driver.find_element_by_xpath('//*[@id="username"]').send_keys('admin')
driver.find_element_by_xpath('//*[@id="password"]').send_keys('123456')

def login_verify():
    driver.find_element_by_xpath('//*[@id="password"]').send_keys('123456')
    # 截取屏幕内容,保存到本地
    driver.save_screenshot("C:\\Project\\pageobject\\config\\img.png")
    # 打开截图,获取验证码位置,截取保存验证码
    ran = Image.open("C:\\Project\\pageobject\\config\\img.png")
    # 获取验证码位置,使用手动定位,代表(左,上,右,下)
    Box = (1315, 366, 1385, 390)
    # 把获取的验证码保存
    ran.crop(Box).save("C:\\Project\\pageobject\\config\\img02.png")
    #打开验证码图片,读取验证码
    imageCode = Image.open("C:\\Project\\pageobject\\config\\img02.png")
    sleep(1)
    # 读取验证码
    code = PyTesseract.image_to_string(imageCode).strip()
    # print(code)
    #输入验证码
    driver.find_element_by_xpath('//*[@id="vcode"]').send_keys(code)
    driver.find_element_by_xpath('//*[@id="i_submit"]').click()
    text = driver.find_element_by_xpath('//*[@id="credentials.errors"]').text
    if text == '验证码有误!':
        login_verify()
    else:
        print('我将继续执行')

login_verify()

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐