""""""
import time
"""
在测试的工作中,解决验证码的方式,有哪几种?
1. 万能验证码 -- 协商开发,提供一个【固定的验证码】,通过这个验证码可以直接跳过验证码的问题
2. 关闭验证码功能 -- 协商开发,直接把测试环境的验证码功能【代码注释掉】,正式环境不适用这个场景
3. debug浏览器复用 -- 实际用起来很麻烦,前置条件太多了,不推荐使用,实际的工作中也几乎不用,【拓展知识】
4. 新提供验证码获取接口 -- 存在安全隐患,绝大多数的场景,都【不会采取这种措施】
5. cookie跳过验证码 -- 需要掌握少部分的接口知识(有一点点门槛),比较适合编程类的同学(自动化、测开、测试负责人)
6. OCR图像识别验证码 -- 有一定技术要求(固定的,步骤:a. 截图保存验证码元素的图片 b. 去噪、灰度、二值化 c. OCR图像识别成str d. 把str填入到验证码的输入框)
"""
from selenium import webdriver
# 初始化浏览器
driver = webdriver.Chrome()
# 打开项目的url地址
driver.get("http://novel.hctestedu.com/user/register.html")
# 输入手机号
driver.find_element('id', 'txtUName').send_keys(19828642617)
# 输入密码
driver.find_element('id', 'txtPassword').send_keys(123456)
# 保存验证码元素的截图
driver.find_element('id', 'chkd').screenshot('./master_drawing.png')
"""
OpenCV图像处理
"""
# 导入图片处理的依赖包
import cv2 as cv # pip install opencv_python -i https://mirrors.aliyun.com/pypi/simple/
# 原图
master_drawing = cv.imread('master_drawing.png')
# 对图片进行去噪处理
denoised_picture = cv.pyrMeanShiftFiltering(master_drawing, 10, 100)
# 对图片进行灰度处理
grayscale_picture = cv.cvtColor(denoised_picture, cv.COLOR_BGR2GRAY)
# 对图片进行二值化处理(中间的符号:管道符)
threshold_vlue, binary_picture = cv.threshold(grayscale_picture, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
cv.imwrite("binary_picture.png", binary_picture)
"""
OCR图像识别
"""
import pytesseract # pip install pytesseract -i https://mirrors.aliyun.com/pypi/simple/
from PIL import Image
# 验证码识别成str
binary_picture = 'binary_picture.png'
captcha_picture = Image.open(binary_picture)
verification_code = pytesseract.image_to_string(captcha_picture)
print(f"识别到的验证码为:{verification_code}")
# 输入验证码
driver.find_element('id', 'TxtChkCode').send_keys(verification_code)
time.sleep(5) # 为了看到输入验证码的效果
# 点击注册按钮
driver.find_element('id', 'btnRegister').click()
没有合适的资源?快使用搜索试试~ 我知道了~
【Python-WEB自动化-06课-对验证码的处理】
共32个文件
py:14个
png:7个
xml:5个
0 下载量 54 浏览量
2024-04-15
21:00:55
上传
评论
收藏 26KB 7Z 举报
温馨提示
【Python-WEB自动化-06课-对验证码的处理】
资源推荐
资源详情
资源评论
收起资源包目录
web_day06课堂代码.7z (32个子文件)
web_day06课堂代码
.DS_Store 6KB
day06
binary_picture.png 334B
__init__.py 0B
.DS_Store 8KB
cookie跳过验证码.py 0B
读书屋项目实战演示.py 3KB
p06_OCR图像识别
binary_picture.png 352B
__init__.py 0B
p01_ocr图像识别验证码.py 409B
p03_Cookie跳过验证码 0B
p01_解决验证码问题的常见几种方式
__init__.py 0B
p01_淘宝示例触发验证码功能.py 371B
p04_Js处理方式
__init__.py 0B
p01_JS解决验证码.py 1KB
验证码样例.html 3KB
.idea
day06.iml 291B
workspace.xml 6KB
misc.xml 188B
inspectionProfiles
Project_Default.xml 429B
profiles_settings.xml 174B
modules.xml 269B
.gitignore 50B
p02_Debug模式启动浏览器(浏览器复用)
__init__.py 0B
p01_debug模式解决验证码问题示例.py 942B
cookie解决验证码问题.py 660B
p05_OpenCV图像预处理:灰度值和二值化
binary_picture.png 352B
__init__.py 0B
p01_图像验证码示例.py 1KB
grayscale_picture.png 1KB
denoised_picture.png 3KB
master_drawing.png 7KB
master_drawing.png 8KB
共 32 条
- 1
资源评论
WIN赢
- 粉丝: 223
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功