from PIL import Image
import pytesseract
from selenium import webdriver
from time import sleep
def login(username,password):
driver.find_element_by_id("loginName").clear()
driver.find_element_by_id("loginName").send_keys(username)
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys(password)
#生产环境
#url=" "
#测试环境
url=' '
driver = webdriver.Ie()
driver.get(url)
#将浏览器最大化
driver.maximize_window()
sleep(0.5)
#截取当前网页,该网页有我们需要的验证码
driver.save_screenshot('C:\\Users\\xxp\\Desktop\\aa.jpg')
#定位验证码
image_ement = driver.find_element_by_id("identitryCode")
#获取验证码x,y轴坐标
location = image_ement.location
size=image_ement.size #获取验证码的长宽
#写成需要截取的位置坐标
rangle=(int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height']))
i=Image.open("C:\\Users\\xxp\\Desktop\\aa.jpg") #打开截图
i= i.convert('RGB')
frame4=i.crop(rangle) #使用Image的crop函数,从截图中再次截取我们需要的区域
frame4.save('C:\\Users\\xxp\\Desktop\\frame4.jpg')
qq=Image.open('C:\\Users\\xxp\\Desktop\\frame4.jpg')
#qq.show() #显示获取到的图片验证码
#使用image_to_string识别验证码
try:
#将图片验证码转换为字符串
text=pytesseract.image_to_string(qq).strip()
except Exception as msg:
print(msg)
#print(text) #打印字符串验证码
login("wangfei","1234567")
driver.find_element_by_id("identitryCodeValue").send_keys(text)
driver.find_element_by_xpath("//*[@class='login']/div[4]/a").click()
ocr识别验证码
最新推荐文章于 2023-02-20 21:16:41 发布