(自动化实现验证码登录,这里内容是入坑后,整合了几个文档的内容)|
以下模块是使用时需要用到的


首先:安装pillow库,它的作用是对图片进行简单的处理,在pytharm中使用pip install pillow指令即可安装

如果出现超时报错可以用下面指令进行安装

pip --default-timeout=100 install -U pillow

下载tesseract图片识别文字模块

tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/本人下载的是2019.03.14版本的

下载后就是一个exe安装包,直接右击安装即可,安装完成之后

配置两个环境变量:

(1)编辑 系统变量里面 path,添加tesseract的安装路径:

我的路径是默认安装的路径:C:\Program \Tesseract-OCR(添加后别忘记加上";"结尾,记得保存)

(2)点击我的电脑–>属性–>高级设置—>环境变量---->path下面的—>新建—>变量名:TESSDATA_PREFIX---->变量值:前面的加上\tessdata

接下来,为了在python代码中使用tesseract功能,使用pip安装pytesseract:

pip install pytesseract

安装后在CMD命令行输入:tesseract test.jpg text -l chi_sim(网上随意找的一个指令)
运行后显示:

提示是没有语言包,然后就去查资料踩了一个坑,说是要在安装的时候勾选: Addtional language data(download)

于是找到C:\Program \Tesseract-OCR,卸载重装,勾选之后安装,却出现以下提示(这个关都关不掉)只能靠任务管理器结束任务

后来在不懈努力下,找到了一个可以直接下载语言包,下面是我分享的(原文出处:https://blog.csdn.net/LZQ_LZQ_/article/details/105627635)

链接:https://pan.baidu.com/s/1MWkQgaMYY-9-kwhONOm3Bg
提取码:51si

下载语言包,打开tessdata文件夹,把这几个再复制到C:\Program \Tesseract-OCR\tessdata     下

然后win+R 快捷打开cmd,输入tesseract --list-langs 就可,加上我们下载的,一共有5种语言

安装pytesseract
直接在pycharm中使用pip进行安装就可
指令:pip install pytesseract

另外需要注意的是:下载pytesseract后:

找到pytesseract的安装包,C:\Python34\Lib\site-packages\pytesseract,编辑pytesseract.py文件(此步骤必须做,否则运行代码时会报错):

  tesseract_cmd = 'C:/Program Files /Tesseract-OCR/tesseract.exe'                 -----(这个是我自己的路径)后面/tesseract.exe是需要自己加上去的
(程序网上可以自己随意找,自己也是遇到一个问题,就是截的验证码图片的位置有偏差,后来通过自己量才获得验证码图片,但是不调用第三方接口,识别度不高,难点的基本无法识别)

python自动化实现验证码登录过程的更多相关文章

  1. Python - Cookie绕过验证码登录

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 另一篇博文  P ...

  2. IDEA+java通过SSH来进行分析日志,实现UI自动化动态验证码登录

    在我写自动化脚本的时候是要真实发送验证码才能往下进行UI自动化 思路:验证码会显示在哪些地方,手机短信?数据库存储?日志? 完整代码如下: package guanyu.tools; import c ...

  3. Python 自动化之验证码识别

    之前公司的验证码比较简单,可以采取直接破解的方式进行登录 部分代码如下: # -*- coding: utf-8 -*- from selenium import webdriver from sel ...

  4. Spring Security 实现手机验证码登录

    思路:参考用户名密码登录过滤器链,重写认证和授权 示例如下(该篇示例以精简为主,演示主要实现功能,全面完整版会在以后的博文中发出): 由于涉及内容较多,建议先复制到本地工程中,然后在细细研究. 1. ...

  5. python接口自动化(Cookie_绕过验证码登录)

     python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...

  6. Selenium2+python自动化41-绕过验证码(add_cookie)

    前言 验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级别不高,那就需要提高级别了. 对于验证码,要 ...

  7. Selenium2+python自动化41-绕过验证码(add_cookie)【转载】

    前言 验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级别不高,那就需要提高级别了. 对于验证码,要 ...

  8. Python 实现简单图片验证码登录

    朋友说公司要在测试环境做接口测试,登录时需要传入正确的图片的验证码,本着懒省事的原则,推荐他把测试环境的图片验证码写死,我们公司也是这么做的^_^.劝说无果/(ㄒoㄒ)/~~,只能通过 OCR 技术来 ...

  9. Python验证码登录(Tesseract安装配置)

    1.安装py库:pytesseract,PIL pip install pytesseract pip install PILLOW 如果安装时,出现权限不足: pip install --user ...

随机推荐

  1. 路由策略Routing Policy和策略路由PBR的区别

    这是面试的时候问道的一个问题,这里跟大家分享一下 路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术: PBR(policy-based-route)是一种依据 ...

  2. Codeforces Round #571 (Div. 2)-D. Vus the Cossack and Numbers

    Vus the Cossack has nn real numbers aiai. It is known that the sum of all numbers is equal to 00. He ...

  3. linux的五种IO模型

    概念: 同步.异步.阻塞.非阻塞的概念 同步:所谓同步,发起一个功能调用的时候,在没有得到结果之前,该调用不返回,也就是必须一件事一件事的做,等前一件做完了,才能做下一件. 提交请求->等待服务 ...

  4. JS实现斐波那契数列的五种方式

    下面是五种实现斐波那契数列的方法 循环   function fibonacci(n){ var res1 = 1; var res2 = 1; var sum = res2; for(var i = ...

  5. Java Web制作登录 验证码

    具体操作如下: 新建一个servlet,代码如下:标记一个WebServlet, @WebServlet(urlPatterns = {"/checkCode"}) //验证码Se ...

  6. sqlserver语句的执行顺序

    执行顺序: 1.from 2.where 3.group by 4.having 5.根据select 关键之后的要显示的字段,进行结果集显示 6.order by 对最终结果集进行排序 7.top/ ...

  7. Scrapy框架的架构原理解析

    爬虫框架--Scrapy 如果你对爬虫的基础知识有了一定了解的话,那么是时候该了解一下爬虫框架了.那么为什么要使用爬虫框架? 学习框架的根本是学习一种编程思想,而不应该仅仅局限于是如何使用它.从了解到 ...

  8. [LeetCode] 46. 全排列(回溯)

    ###题目 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], ...

  9. JavaScript中关于获取浏览器可视窗口的几个兼容性写法的理解

    1.浏览器可视窗口的概述: 浏览器可视区域不是网页的body的大小.可视区指的是浏览器减去上面菜单栏.工具栏,下面状态栏和任务栏,右边滚动条(如果有的话)后的中间网页内容的单页面积大小.而body大小 ...

  10. 我的Python自学之路-001 列表的知识

    #_date_:2020/9/11 '''列表和字典是python中用的最多的数据类型 假如要存储一个班级的人名,需要怎么做?有这么几种方法:1.定义很多个变量: name0 = 'wucaho' n ...