Python 脚本自动获取验证码解决UI自动化识别问题

这小半年实在太忙,都没时间学习了,有点慌。
关于验证码的问题,以前搞过,今天抽时间将这个总结补上。

解决UI自动化过程中的图文验证码问题,过程大致分为两个步骤:

  1. 通过网页自动下载网页上指定的图片

  2. 识别图片上的文本内容

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

环境准备

Python 3.6
Pytesseract
Tesseract-OCR
Pillow

1、安装 Pytesseract
使用命令:pip install pytesseract 在这里插入图片描述
2、安装 Tesseract-OCR.exe
下载地址 https://github.com/UB-Mannheim/tesseract/wiki#start-of-content
在这里插入图片描述
待下载完成后,双击.exe ,然后直接 next
在这里插入图片描述

在安装过程中,如果报错,点击 确定 就可以了
在这里插入图片描述
安装完成后,需要配置环境变量。
在这里插入图片描述
检查是否安装成功
cmd 输入 Tesseract -v

在这里插入图片描述
4、安装pillow
Python自带的图文简单处理模块,正常安装Python的时候会自动安装,故无需另外手动安装。
pip install pillow

代码

1、初始化浏览器和元素定位方式
1)初始化并放大浏览器
2)初始化元素定位方式:本文使用id选择器方式定位 (此处不讨论定位方式)
在这里插入图片描述

2、获取图片
1)页面全屏截图
2)截图转为Image对象
3)获取指定图片的大小和位置
4)裁剪图片
在这里插入图片描述
3、识别图片上的文字
在这里插入图片描述

然后运行后,得出结果
在这里插入图片描述
附:
其实,这种识别率不是很高,占比70% 左右,在没有更好方法的i情况下,可以考虑。
问题:
在运行过程中,出现过 tesseract is not installed or it’s not in your PATH
在这里插入图片描述解决方法:
1、可以卸载 了Tesseract.exe 后重新进行安装在 Python的安装路径下。
2、打开pytesseract源码
查找 tesseract_cmd = ‘tesseract’
发现上面有一行注释 # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
由于 TESSERACT 所在目录不同,需要手动更改目录
此行修改为
tesseract_cmd = r’C:\Program Files\Tesseract-OCR\tesseract.exe’

以上两种方法都可以。

ibG9nLmNzZG4ubmV0L2xpdWppbmdxaXU=,size_16,color_FFFFFF,t_70)

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值