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