1.安装py库:pytesseract,PIL

pip install pytesseract
pip install PILLOW

 如果安装时,出现权限不足:

pip install --user pytesseract
pip install --user PILLOW

2.tesseract程序下载安装

2.1 tessercat下载地址:https://digi.bib.uni-mannheim.de/tesseract/        //请依据自己的操作系统下载exe文件安装

2.2 环境变量配置

用户变量,系统变量都添加:PATH     C:\Program Files (x86)\Tesseract-OCR;    //这是tesseract的安装目录

系统变量添加:TESSDATA_PREFIX    C:\Program Files (x86)\Tesseract-OCR

//有的博文写到“TESSDATA_PREFIX”目录需要到tessdata,但是我电脑配置到tessdata就会多一级tessdata目录,命令测试时会找不到,所以这里自己依据调试哪个OK用哪个~

2.3 验证是否安装/配置成功

在需识别的图片目录下执行命令:tesseract test.png output_1 –l eng

test.png:徐识别的文件

output_1:识别后存入的文件名(默认txt格式)

-l eng:语言包 英文

3.pycharm验证码登录

验证码图片清晰,不去需要背景去噪(干扰线),转换为灰度图

# 验证码登录
import time
from PIL import ImageEnhance
from selenium import webdriver
# 避免出现系统错误:[WinError 2] 系统找不到指定的文件
try:
import Image
except ImportError:
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe' # 打开浏览器
url = "http://XXX.XX.XX.XX:XXX/SPMTest/login.html"
browser = webdriver.Chrome()
browser.implicitly_wait(10)
browser.maximize_window()
browser.get(url) # 用户元素
userElement = browser.find_element_by_id("loginname")
passElement = browser.find_element_by_id("password1")
codeElement = browser.find_element_by_id("code")
lgButton = browser.find_element_by_id("login_value") # 验证码截取+识别(页面验证码地址不是固定连接,所以采用截图方式)
# 截取屏幕内容,保存到本地
browser.save_screenshot("D://PyDemo/01.png")
# 打开截图,获取验证码位置,截取保存验证码
ran = Image.open("D://PyDemo/01.png")
box = (1165, 380, 1240, 415) # 获取验证码位置,手动定位(左,上,右,下)--验证码图片的绝对定位
ran.crop(box).save("D://PyDemo/02.png")
# 获取验证码图片,读取验证码
code = pytesseract.image_to_string(Image.open('D://PyDemo/02.png'))
print(code) # 输入数据登录
userElement.send_keys('tt')
passElement.send_keys('1234')
codeElement.send_keys(code)
time.sleep(3)
lgButton.click()

  

记录下,这个系统的登录脚本,特殊情况~(场景:密码输入框有两个id处理.....)

  

Python验证码登录(Tesseract安装配置)的更多相关文章

  1. Python开发环境的安装配置

    要学习Python,我们首先要安装配置好Python的运行环境. 那么安装Python 2 还是 Python 3 呢? 当然是要选择Python 3 .这里来教大家安装稳定版Python3 的版本是 ...

  2. python Django Nginx+ uWSGI 安装配置

    环境: CentOS7.python-3.5.3.Nignx 1.10.3 .Django 1.10.6.uWSGI 2.0.14 django项目目录:/var/webRoot/p1 项目结构: 基 ...

  3. python 笔记1:安装python;eclipse中安装配置pydev

    1  下载安装python. 官网:https://www.python.org/downloads/     根据自己的操作系统选择需要的版本下载并安装. 我的电脑操作系统windows xp的,只 ...

  4. python学习第一天 -安装配置及其输入输出

    Python, 是一种面向对象.解释型计算机程序设计语言. python适合领域: 1.Web网络和各种网络服务 2.系统工具和脚本 3.作为“胶水”语言把其他语言开发的模块包装起来方便使用 pyth ...

  5. python 笔记1:官网下载及安装python;eclipse中安装配置pydev

    1  下载安装python. 官网:https://www.python.org/downloads/     根据自己的操作系统选择需要的版本下载并安装. 我的电脑操作系统windows xp的,只 ...

  6. 检查python以及django是否安装配置成功

    首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...

  7. Python在Windows上安装配置测试

    Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 2.x还是3.x 目前,Python ...

  8. 【Python】python2.7 安装配置OpenCV2

    环境:Ubuntu16.04 anaconda Python2.7 opencv2.4.13 安装opencv后 import cv2 遇到错误信息: No module named cv2 安装op ...

  9. python验证码识别

    关于利用python进行验证码识别的一些想法 用python加“验证码”为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章.我大体看了一下,主要方法有几类:一类是通过对图片进行处 理,然后 ...

随机推荐

  1. PM2工作原理

    PM2工作原理 要理解pm2就要理解god和santan的关系,god和santan的关系就相当于盖娅和黑底斯在pm2中的01世界中,每一行代码每一个字节都安静的工作god就是Daemon进程 守护进 ...

  2. 报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'

    在提交注册信息的时候报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key ' ...

  3. (转)常用 HTTP 状态码对照表

    Code 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须 ...

  4. centos7 - mysql修改密码

    set password for 'root'@'localhost'=password('MyNewPass4!'); mysql5.7默认安装了密码安全检查插件(validate_password ...

  5. android 9.0以上charles https抓包

    以前安装证书的方式无效了,必须将下载的证书复制到/system/etc/security/cacerts/目录, 步骤: 1.现在手机上安装好 chls.pro/ssl下载得到一个 charles-p ...

  6. 求平面上N点最远两点和最近两点距离

    最近两点,二分法 最远两点,凸包+找对踵点

  7. 使用Statement执行DML和DQL语句

    import com.loaderman.util.JdbcUtil; import java.sql.Connection; import java.sql.DriverManager; impor ...

  8. mongdb group聚合操作

    1.数据准备 [{"goods_id":1,"cat_id":4,"goods_name":"KD876"," ...

  9. 六十一:Flask.Session之flask操作session

    1.设置session:使用flask.session就可以操作字典,操作方式和操作字典一样:session['key']=value2.获取session,和获取字典的值一样:session['ke ...

  10. .net core cookie滑动过期设置

    HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, userPrincipal, new Authe ...