Python - WebDriver 识别登录验证码
Python - WebDriver 识别登录验证码
没什么可说的直接上代码!
#-*-coding:utf-8-*- # Time:2017/9/29 7:16 # Author:YangYangJun import time from pytesseract import * from selenium import webdriver from PIL import Image, ImageEnhance import baseinfo url = baseinfo.url driver = webdriver.Firefox() driver.maximize_window() driver.get(url) time.sleep(3) driver.save_screenshot('verifyCode.png') #截取当前网页,该网页有我们需要的验证码 time.sleep(2) #定位验证码 imgelement = driver.find_element_by_xpath(".//*[@id='imgObj']") #获取验证码x,y轴坐标 location = imgelement.location #获取验证码的长宽 size = imgelement.size driver.quit() #写成我们需要截取的位置坐标 rangle = (int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height'])) # 打开截图 i = Image.open('verifyCode.png') #使用Image的crop函数,从截图中再次截取我们需要的区域 imgry=i.crop(rangle) #使用Image的crop函数,从截图中再次截取我们需要的区域 imgry.save('getVerifyCode.png') im=Image.open('getVerifyCode.png') im = im.convert('L')#图像加强,二值化 sharpness =ImageEnhance.Contrast(im)#对比度增强 sharp_img = sharpness.enhance(2.0) sharp_img.save("newVerifyCode.png") newVerify = Image.open('newVerifyCode.png') # 使用image_to_string识别验证码 text=image_to_string(newVerify).strip() #使用image_to_string识别验证码 #text1 = image_to_string('newVerifyCode.png').strip() print text #print text1
![](http://files.cnblogs.com/files/BlueSkyyj/zfbd.bmp)
您的资助是我最大的动力!
金额随意,欢迎来赏!
![](http://files.cnblogs.com/files/BlueSkyyj/wxzf.bmp)
您的资助是我最大的动力!
金额随意,欢迎来赏!
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Blue·Sky】!
【China-测试开发】技术交流群期待你的加入【 193056556 】
【欢迎扫码关注:日益】微信订阅号【 riyi18 】