当前位置:首页 > 科技 >

Python识别平台登录验证码

发布时间:2017-09-10 10:58:43

Python识别平台登录验证码

最近测试组的同事说做自动化测试,需要获取一个平台登录的验证码,于是花了一两个小时研究了一下,贴出来做个备份,以供参考。

要使下面的这段代码运行,需要安装PIL pytesseract和tesseract-ocr, PIL和pytesseract用pip或者easy_install安装, tesseract-ocr需要下载,然后手动安装. 同时,也需要一个chromedriver.exe的文件

代码段 #coding=utf-8 from PIL import Image import pytesseract from selenium import webdriver url=':8080/WebGis/' driver = webdriver.Chrome('chromedriver.exe') driver.maximize_window() #将浏览器最大化,以获取更清晰的校验码图片 driver.get(url) driver.save_screenshot('f://gps.png') #截取当前网页,该网页有我们需要的验证码 imgelement = driver.find_element_by_id('verifyCodeImg') #通过id定位验证码 location = imgelement.location #获取验证码的x,y轴 size = imgelement.size #获取验证码的长宽 rangle=(int(location['x']),\ int(location['y']),\ int(location['x']+size['width']),\ int(location['y']+size['height'])) #写成我们需要截取的位置坐标 i=Image.open('f:gps.png') #打开截图 verifycodeimage=i.crop(rangle) #使用Image的crop函数,从截图中再次截取我们需要的区域 verifycodeimage.save('f://verifycodeimage.png') image=Image.open('f:verifycodeimage.png') #print image vcode=pytesseract.image_to_string(image).strip() #使用image_to_string识别验证码 print vcode

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:孝感SEO http://xiaogan.raoyu.net