巧用Python脚本解决自动化图形验证码难题

解决UI自动化过程中的图文验证码问题,过程大致分为两个步骤:
1、自动下载网页上指定的图片
2、识别图片上的文本内容

本文以“识别页面上指定图片的文本“为例。

代码实现效果

巧用Python脚本解决自动化图形验证码难题1

环境准备

  • Pytesseract
  • Tesseract-OCR
  • Pillow

手动安装pytesseract库 

命令:pip install pytesseract

巧用Python脚本解决自动化图形验证码难题2

安装Tesseract-OCR.exe 

下载地址 
http://8rr.co/Krrw

巧用Python脚本解决自动化图形验证码难题3

双击exe程序直接安装即可

巧用Python脚本解决自动化图形验证码难题4

配置环境变量 

巧用Python脚本解决自动化图形验证码难题5

巧用Python脚本解决自动化图形验证码难题6

校验安装成功 

巧用Python脚本解决自动化图形验证码难题7

安装Pillow包 

Python自带的图文简单处理模块,正常安装Python的时候会自动安装,故无需另外手动安装。(若没自动安装则可手动安装:pip install Pillow)

代码正文 

初始化浏览器和元素定位方式

  • 初始化并放大浏览器
  • 初始化元素定位方式:本文使用CSS选择器方式定位

巧用Python脚本解决自动化图形验证码难题8

巧用Python脚本解决自动化图形验证码难题9

获取图片 

  • 页面全屏截图
  • 截图转为Image对象
  • 获取指定图片的大小和位置
  • 裁剪图片

巧用Python脚本解决自动化图形验证码难题10

巧用Python脚本解决自动化图形验证码难题11

识别图片上的文本 

  • 识别裁剪后的图片上的文本内容

巧用Python脚本解决自动化图形验证码难题12

巧用Python脚本解决自动化图形验证码难题13

问题:

Python脚本运行报错:

巧用Python脚本解决自动化图形验证码难题14

解决方案:

修改tesseract文件的默认路径

巧用Python脚本解决自动化图形验证码难题15

文章源自公众号 自动化软件测试



留言