UI自动化(Webdriver Appnium通吃方案)中验证码的识别方法(源代码)
用到tesseract-ocr和PIL两个工具.系统为Windows 64位,因此再安装PIL的时候有点小问题,步骤如下:
前期准备
下载 tesseract-ocr-setup-3.02.02.exe安装(双击一路下一步然后finish),然后把tesseract-ocr的的安装目录添加到系统环境变量中
安装PIP
下载:http://download.csdn.net/detail/chenlei_525/9377602
然后运行一下就可以了(是Python)源代码
python Xxxx.py
下载Pillow
http://download.csdn.net/detail/chenlei_525/9377606
通过pip安装 pip install XXX.whl
测试脚本中如何使用(代码在这里)
一切准备就绪后在文件中通过
from PIL import Image引入PIL
代码语言:javascript复制def identifyingCode(self,driver,startx,starty,endx,endy):
u'''''获取验证码
(startx,xstarty)---------------------------------
| 要截取的图片范围 |
| |
---------------------------------- (endx,endy)
'''
driver.get_screenshot_as_file(os.getcwd() '\cirsschan.jpg')
imGetScreen = Image.open(os.getcwd() '\cirsschan.jpg')
box=(startx,starty,endx,endy)
imIndentigy = imGetScreen.crop(box)
imIndentigy.save(os.getcwd() '\indent.jpg')
strCommand = 'tesseract.exe ' os.getcwd() '\indent.jpg ' os.getcwd() '\indet.txt'
print strCommand
os.system(strCommand)
rfindet = open(os.getcwd() '\indet.txt.txt','r')
strIndet= rfindet.readline()
return strIndet
PS
上述过程自己验证可以使用,driver既可以appium也可以selenium,都可以.