python+selenium+Tesseract-OCR识别图片验证码
Posted 多测师张sir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
以上是关于python+selenium+Tesseract-OCR识别图片验证码的主要内容,如果未能解决你的问题,请参考以下文章
python+selenium+Tesseract-OCR识别图片验证码