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. gRPC-Web正式发布

    前言: gRPC-Web是一个JavaScript客户端库,可以使Web应用程序直接与后端gRPC服务进行通信,而无需HTTP服务器充当中介. 这意味着可以通过使用.proto文件定义客户端和服务器端 ...

  2. Java 读取模板并生成HTML静态文件实例

    原理都很简单,主要是对模板的解析.so,我们先准备一个html模板mb.html,做个文件其中的###title###之类的标签用于程序进行查询替换. HTML code复制代码 <html&g ...

  3. AWS EC2 PV Drivers 驱动升级

    问题 从2019-10-23起,我的AWS实例不断的重启(大概6个小时左右),或者连接不上(远程连接不上并PING不通IP),但控制台显示running. 分析与解决方法 通过查看dump文件,发现是 ...

  4. TCP时间戳选项Timestamp

    时间戳选项发送方在每个报文段中放置一个时间戳值.接收方在确认中返回这个数值,从而允许发送方为每一个收到的ACK计算RTT(我们必须说“每一个收到的ACK”而不是“每一个收到的报文段”,是因为TCP通常 ...

  5. 腾讯云服务器安装mysql

    首先,我们检测一下系统中是否已安装mysql的相关服务 命令: rpm -qa | grep mysql,无输出则证明未安装 然后我们使用yum检测查找系统自带的mysql安装文件. CentOS7的 ...

  6. 编译openwrt时报错build_dir/hostpkg/libubox-2018-07-25-c83a84af/blobmsg_json.c:21:19: fatal error: json.h: No such file or directory

    答: 一. 详细日志: build_dir/hostpkg/libubox-2018-07-25-c83a84af/blobmsg_json.c:21:19: fatal error: json.h: ...

  7. SVN图标详解

    蓝色的加号 : 把这个文件已经添加到版本控制软件内 绿色的对勾 : 客户端和服务器端的代码一致 红色的叹号 : 客户端和服务器端两边的代码不一致 黄色的叹号 : 文件冲突 蓝色的问号 : 这个文件不在 ...

  8. promise 实现红绿灯

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. php文件夹上传下载控件分享

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...

  10. json字符串转map、json数组演示

    公司项目用的IBM封装的json解析,此处采用阿里的fastjson进行演示,代码如下: package com.alphajuns.test; import com.alibaba.fastjson ...