封装识别验证码方法
def auth_code(self):
driver = self.driver
path = "存放图片路径"
driver.save_screenshot(path + "01.png") # 截取屏幕内容,保存到本地
ran = Image.open(path + "01.png") # 打开截图,获取验证码位置,截取保存验证码
box = (1200, 345, 1250, 365) # 获取验证码位置,自动定位不是很明白,就使用了手动定位,代表(左,上,右,下)
ran.crop(box).save(path + "01.png") # 把获取的验证码保存
# 获取验证码图片,读取验证码
imageCode = Image.open(path + "01.png") # 打开保存的验证码图片
# imageCode.load()
# 图像增强,二值化
sharp_img = ImageEnhance.Contrast(imageCode).enhance(2.0)
sharp_img.save(path + "02.png") # 保存图像增强,二值化之后的验证码图片
sharp_img.load() # 对比度增强
code = pytesseract.image_to_string(Image.open(path + "2.png"), lang="fontyp", config="-psm 7")
print(''.join(code.split()) #打印验证码
return ''.join(code.split())
来源:CSDN
作者:mildpython
链接:https://blog.csdn.net/mildpython/article/details/103045045