UI自动化(Webdriver+Appnium通吃方案)中验证码的识别方法(源代码)

2019-08-02 11:20:27 浏览数 (1)

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,都可以.

0 人点赞