#获取图片验证码
#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()