python自动化实现登录获取图片验证码功能selemium

print("识别验证码")
# 网上下载tesseract,给定ocr的安装目录
pytesseract.tesseract_cmd = ('C:\Program Files\Tesseract-OCR\tesseract.exe')

# 验证码输入框元素
print("定位验证码输入框元素")
codeElement = authcode = driver.find_element_by_id("checkCode")
# 验证图片元素
print("验证图片元素")
imgElement = 'C:\Users\TZ\Desktop\captcha.png'

# 2、截取屏幕内容,保存到本地
print("截取屏幕内容,保存到本地")
driver.save_screenshot( 'C:\Users\TZ\Desktop\captcha.png')

# 3、打开截图,获取验证码位置,截取保存验证码
print("打开截图,获取验证码位置,截取保存验证码")
ran = Image.open( 'C:\Users\TZ\Desktop\captcha.png' )
print("获取验证码位置,定位验证码的(左,上,右,下)")
box = (1255, 341, 1338, 367) # 获取验证码位置,自动定位不是很明白,就使用了手动定位,代表(左,上,右,下)
ran.crop( box ).save( "C:\Users\TZ\Desktop\captcha2.png" )

print("获取验证码图片,读取验证码")
# 4、获取验证码图片,读取验证码
imageCode = Image.open( "C:\Users\TZ\Desktop\captcha2.png" )
code = pytesseract.image_to_string(imageCode ).strip()
print("拿到验证码,输入验证")
# 5、收到验证码,进行输入验证
print( code.lower() )

需要安装ocr识别软件tesseract ,然后

import pytesseract
from PIL import Image 就可以了 验证码的位置需要画图工具 定位一下位置

需要软件测试自动话课程的加qq971090345

原文地址:https://www.cnblogs.com/LtTest/p/14661004.html