针对验证码有如下方法:
一、在产品没有上线前,需要找开发先给web验证码留后门,也就是将验证码验证先注释掉
二、让开发给web验证码留一个万用验证码,只要输入给的自定验证码数字,字母,就可以强制登录
三、当有的页面可以勾选保存用户名,密码可以通过Cookie跳过登录验证码,使用抓包工具就行了
四、使用验证码识别技术
1.tesseract库,先下载pip --default-timeout=500 install -U Pillow 安装Pillow也就是安装PIL库处理图像用的库
2.安装 pytesseract库 pip install pytesseract
最后在百度下安装tesseract 注意打开C:\Program Files\Tesseract-OCR复制路径而且是反斜杠,在打开C:\Python\Python36\Lib\site-packages\pytesseract\pytesseract.py修改里面路径
3.在百度安装tesseract-OCR文件
配置环境变量
Path:C:\Program Files (x86)\Tesseract-OCR;
TESSDATA_PREFIX:C:\ProgramFiles(x86)\Tesseract-OCR;C:\ProgramFiles(x86)\Tesseract-OCR\tessdata

‘’’
@project:Selenium_SToom
@Time:2019-10-24 12:02
@Author:Felton

‘’’
导入包
from selenium import webdriver
import time
import pytesseract
from PIL import Image
from PIL import Image,ImageEnhance
打开火狐
driver=webdriver.Firefox()
输入网站
driver.get(‘网站’)

time.sleep(2)

#截图或验证码图片保存地址
screenImg = r"D:\tupian\screenImg.png"
#登陆
driver.find_element_by_id(‘userid’).send_keys(‘账号’)
driver.find_element_by_id(‘password’).send_keys(‘密码’)
driver.find_element_by_id(‘image’).click()
#定位验证码图片
driver.find_element_by_id(‘image’).get_attribute(‘src’)
#对验证码进行截图
driver.get_screenshot_as_file(screenImg)
#定位验证码位置及大小
location = driver.find_element_by_id(‘image’).location
size = driver.find_element_by_id(‘image’).size
left = location[‘x’]
top = location[‘y’]
right = location[‘x’] + size[‘width’]
bottom = location[‘y’] + size[‘height’]
#从文件读取截图,截取验证码位置再次保存
img = Image.open(screenImg).crop((left,top,right,bottom))
img = img.convert(‘L’) #转换模式:L | RGB
img = ImageEnhance.Contrast(img)#增强对比度
img = img.enhance(2.0) #增加饱和度
#保存修改后图片
img.save(screenImg)

#读取验证码
img = Image.open(screenImg)
注意:对安装完成后需要使用pycharm进行验证识别,如果成功识别验证码就可以了
导入包
import pytesseract
from PIL import Image
图片地址
image = Image.open(r’D:/tupian/screeImg.png’)
code = pytesseract.image_to_string(image)
print(code)

自动化测试验证码代码常用的四种方式相关推荐

  1. 前端代码深浅拷贝四种方式

    今天公司的实习生有问我代码怎么深拷贝 下面我就给大家整理四种前端代码深拷贝的四种方式 前端数据分为基本数据类型和引用数据类型,当我们拷贝引用数据类型的时候,我们希望改变新数组(对象)不改变原本的数组( ...

  2. C#播放背景音乐常用的四种方式

    转自:http://www.cnblogs.com/Microblue/archive/2010/09/21/2406704.html C#播放背景音乐通常有四种方式: 1.播放系统事件声音 2.使用 ...

  3. Java HashMap的遍历(常用的四种方式),及key,value规律

    HashMap的四种遍历方式 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import jav ...

  4. restful API 常用的四种方式

    restful作用: REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准.REST 通常使用 JS ...

  5. Copy ArrayList的四种方式

    文章目录 简介 使用构造函数 使用addAll方法 使用Collections.copy 使用stream 总结 Copy ArrayList的四种方式 简介 ArrayList是我们经常会用到的集合 ...

  6. java arraylist 复制_Copy ArrayList的四种方式

    简介 ArrayList是我们经常会用到的集合类,有时候我们需要拷贝一个ArrayList,今天向大家介绍拷贝ArrayList常用的四种方式. 使用构造函数 ArrayList有个构造函数,可以传入 ...

  7. 51单片机下载完程序后不亮_程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍...

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  8. 程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  9. Http post 常用的四种请求方式

    2019独角兽企业重金招聘Python工程师标准>>> http1.1协议规定http 的请求方式有OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CO ...

  10. 后台CS代码中创建四种常用的SL动画效果

    http://www.cnblogs.com/chengxingliang/archive/2011/03/07/1974436.html后台CS代码中创建四种常用的动画效果[附带源码实例] 转载于: ...

最新文章

  1. 直播活动丨BMMeetup第2期:大模型计算加速技术,2场特邀和7位青年学者技术报告联袂上演...
  2. numpy库:常用基本
  3. 您所知道的IT运维管理
  4. 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.2. Torvalds的Linux发展)
  5. 会签 数据库表设计_关于数据库表设计和实体类设计的思考
  6. MongoDB系列四(索引).
  7. ARM汇编指令格式及规则
  8. 【网络安全入门大总结】—Java语言中常用的渗透漏洞大汇总
  9. 国网英语计算机职称考试技巧,计算机职称考试通关的三大技巧
  10. 【推导】【DFS】Codeforces Round #429 (Div. 1) B. Leha and another game about graph
  11. java软件的安装过程
  12. InstallShield教程-打包.NET程序
  13. 离散信号的希尔伯特变换的计算公式_离散信号的hilbert 变换.ppt
  14. [PAT] PAT注意点
  15. DOM对象和JQuery对象别还傻傻分不清
  16. 修改未能正确启动的docker容器的配置文件
  17. Phodit:打造智能的 Markdown 编辑器
  18. 中位数/平均数/众数/方差/标准差
  19. 宝塔Nginx环境安装pagespeed模块加速网站以及配置WebP格式图片加速方法
  20. JavaScript动态创建网页内容的几种方法

热门文章

  1. 超级玛丽制作揭秘8跟踪打印 类FILEREPORT
  2. Server 2008 R2大改造变成梦幻Win7系统
  3. 万能地图下载器下载与安装教程
  4. 实用的软件安装及使用
  5. 数据库 | PostgreSQL从入门到精通
  6. win10商店下载位置_教你win10设置应用商店中应用默认安装位置教程
  7. [4G+5G专题-145]: 一体化小基站- 5G小基站软件建议架构概述
  8. Tomcat8zip版本安装与配置
  9. 高频量化交之李:在华尔街狼舞岁
  10. Apizza 在线Api接口测试工具