有了这个Python库,免费实现验证码识别

news2024/11/22 19:51:37

在做UI自动化时,无论是APP还是Web在登录页面经常会遇到需要输入验证码的时候,网上也有很多方法进行帮助我们,比如通过百度OCR的接口或者其他平台的开源接口,但是大多数都是收费的,对于我们个人学习非常不友好。

以前小编也分享过,今天小编再介绍一个python的开源库——带带弟弟ocr(ddddocr)。

ddddocr
Github:https://kgithub.com/sml2h3/ddddocr

安装:pip install ddddocr

python要求:<=3.9

使用方法:

# coding:utf-8
import ddddocr
# 对ddddocr进行实例化
ocr = ddddocr.DdddOcr()
# 读取文件
with open('test.png', 'rb') as f:
    # 读取图片信息
    img_bytes = f.read()
    
# 识别验证码
res = ocr.classification(img_bytes)
print(res)

通过上述代码可以看出来,使用方法非常简答,我们只需要导入库,读取图片信息,然后就可以进行识别验证码了,非常方面,接下来跟着小编一起来实例操作下。

实例操作

网 址

https://v3pro.houjiemeishi.com/PC/pages/login/login.html

操 作 步 骤

1.访问上述网址通过F12进行获取验证码的地址,然后通过接口请求下载并保存到本地。

在这里插入图片描述

2.调用ddddocr的库,将上述步骤中保存下来的图片进行识别。

3.定位验证码输出框,输入上述步骤中识别到的验证码。

代码操作

# coding:utf-8
import ddddocr
import requests
from selenium import webdriver
ocr = ddddocr.DdddOcr()
driver = webdriver.Chrome()
# 打开网址页面
driver.get('http://v3pro.houjiemeishi.com/PC/pages/login/login.html')
# 获取验证码图片的url地址
img_url = driver.find_element_by_class_name('codeImg').get_attribute('src')
# 通过接口请求url地址,并保存在本地
r = requests.get(img_url)
with open('1111.jpg', 'wb+') as f:  
    f.write(r.content)
# 再次读取图片信息
with open('1111.jpg', 'rb')as f2:
    img_bytes = f2.read()
# 通过ddddocr进行识别验证码
res = ocr.classification(img_bytes)
print('识别的验证码是:'+res)
# 进行输入验证码内容
driver.find_element_by_class_name('ipt2').send_keys(res)

代码按照步骤书写完成后,进行运行程序,发现验证码输入框,已经输入正确的验证码内容。

图片

总结

小编简单的介绍了如何使用ddddocr的方法并通过实例介绍了如何识别验证码的操作,大家可以根据公司的项目进行自行尝试,感谢您的阅读,希望对您有所帮助。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1006747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Java] String详解

愿一分耕耘,一份收获 文章目录 前言1. String基础概念2. String对象的比较2.1 与equals()的应用 3. 字符串的转化3.1 数字与字符串的转化3.2 大小写转换3.3 字符串与字符数组转换4. 字符串修改1.引入库2.读入数据 总结 前言 String这部分是面试中常常考到的题.string常量池,Sr…

流量录制回放工具在自动化测试领域应用探索

引言&#xff1a; 随着中国农业银行技术架构的日益更迭与业务场景的不断创新&#xff0c;测试工作正在面临数据构造繁琐、案例维护成本较高且质量参差不齐等诸多问题与挑战&#xff0c;主要体现在以下四方面&#xff1a; 一是在系统架构升级与代码重构时&#xff0c;大量原始接…

01_kafka_环境搭建安装_topic管理

文章目录 安装jdk配置主机名Zookeeper 下载与安装Kafka 下载与安装测试集群版安装测试输出 安装jdk 略 配置主机名 hostnamectl set-hostname kafka_1 /etc/sysconfig/network HOSTNAMEkafka_1/etc/hosts ip kafka_1ping kafka_1 测试 Zookeeper 下载与安装 由于 集群…

科技云报道:青云科技为何成为IDC云转型的“神队友”?

科技云报道原创。 如今随着出海企业数量的不断增长&#xff0c;跨境业务也逐渐从蓝海变红海&#xff0c;从“价格战”到“智能战”。 一个明显的变化&#xff0c;来自企业对于出海效率的提升。《埃森哲2022中国企业国际化研究》指出&#xff0c;企业想要在出海浪潮中取胜&…

智能合约平台开发指南

随着区块链技术的普及&#xff0c;智能合约平台已经成为了这个领域的一个重要趋势。智能合约可以自动化执行合同条款&#xff0c;大大减少了执行和监督合同条款所需的成本和时间。那么&#xff0c;如何开发一个智能合约平台呢&#xff1f;以下是一些关键步骤。 一、选择合适…

赴日IT工作 日本的IT工作怎么样?

有许多朋友困惑去日本做IT需要什么条件&#xff1f;日本的IT工作怎么样&#xff1f;今天我来给大家简单分析一下。如果你想要去做赴日IT工作&#xff0c;需要国内正规本科或大专学历及以上才可以&#xff0c;然后就是你的技术和日语要过关&#xff0c;比较重要的是日语&#xf…

cleanmymac这个软件怎么样?好用吗

cleanmymac是我必装的mac端清理软件&#xff0c;界面简洁好看&#xff0c;完美适配mac系统&#xff0c;文件清理的速度、精度都比较优秀&#xff0c;还是比较不错的呢。 虽然说mac平时不需要大量维护进行清理但是有一些临时文件、软件残留、系统缓存、下载安装包还是会日积月累…

Java笔记:GC日志

1. 启用GC日志 -verbose:gc -XX:PrintGC -XX:PrintGCDetails -XX:PrintGCDateStamps -Xloggc:/opt/logs/gc.log在JDK 8中&#xff0c; -verbose:gc是 -XX:PrintGC一个别称&#xff0c;日志格式等价与&#xff1a; -XX:PrintGC。 不过在JDK 9中 -XX:PrintGC被标记deprecated…

香港渣打银行个人开户

渣打银行成立于1853年&#xff0c;全称为标准渣打银行&#xff0c;总部设在英国伦敦&#xff0c;渣打银行是香港最大的外商独资注册银行&#xff0c;是香港的三大发钞银行之一。 一、渣打银行开个人户条件&#xff1f; 在渣打银行开户所需要的条件和在其他银行开户所需要的条件…

若依注册的时候给个默认部门出现获取用户信息异常

想在注册的时候在数据库中查询一个部门给它一个默认部门&#xff0c;结果出现异常——【[handleServiceException,59] - 获取用户信息异常】 经分析代码&#xff0c;此方法有如下注解 以上注解会在mapper.xml中做如下操作 在做此操作之前会进入一个拦截器&#xff0c;根据token…

Win10 update version 22H2

下载 Windows 10 下载新版本win10 安装新版本win10 1703 更新到最新版本 22H2 2023.09.12 20:20 到 2023.09.12 23:44

信通传媒携各家虚商领袖,走进九牛汇

2023年9月8日&#xff0c;各家虚拟运营商领袖相约到厦&#xff0c;齐聚九牛汇共探通信行业革新之路&#xff01; 厦门98投洽会&#xff0c;作为一个规模庞大的国际型盛会&#xff0c;吸引了全球各行各业的精英和企业家。由通信世界主办的《云通信服务工业企业发展论坛》也在这天…

谷粒商城篇章6 ---- P193-P210 ---- 异步线程池商品详情【分布式高级篇三】

目录 1. 异步 1.1 初始化线程的 4 种方式 1.1.1 继承 Thread 1.1.2 实现 Runnable 接口 1.1.3 实现 Callable 接口 FutureTask 1.1.4 线程池 1.1.5 以上 4 种方式总结&#xff1a; 1.2 线程池详解 1.2.1 初始化线程池的 2 种方式 1.2.1.1 使用 Executors 创建 1.2…

区块链实验室(24) - FISCO网络重构

若干次实验以后&#xff0c;FISCO网络中100个节点堆积了不少交易记录&#xff0c;消耗不少磁盘空间&#xff0c;见下图所示&#xff0c;100个节点累计消耗了10G空间。 观察每个节点的磁盘消耗&#xff0c;以node88为例&#xff0c;消耗了107MB&#xff0c;见下图所示。在该节点…

数据结构 图

目录 第六章 图6.1 图的基本概念知识回顾 6.2 图的储存结构&#xff08;邻接矩阵法&#xff09;1. 数组表示法(1) 有向图&#xff0c;无向图的邻接矩阵 2. 定义邻接矩阵的结构3. 定义图的结构4. 构造图G5. 特点 6.3 储存结构&#xff08;邻接表表示法&#xff09;1. 储存方式2.…

揭秘:Wasserstein GAN与梯度惩罚(WGAN-GP)

一、说明 什么是梯度惩罚&#xff1f;为什么它比渐变裁剪更好&#xff1f;如何实施梯度惩罚&#xff1f;在提起GAN对抗网络中&#xff0c;就不能避免Wasserstein距离的概念&#xff0c;本篇为系列读物&#xff0c;目的是揭示围绕Wasserstein-GAN建模的一些重要概念进行探讨。 图…

建筑模板桉木好还是松木好?

在建筑行业中&#xff0c;选择合适的建筑模板材料对于确保施工质量和效率至关重要。桉木和松木是常见的木质建筑模板材料&#xff0c;但在两者之间做出选择时&#xff0c;桉木往往是更好的选择。本文将探讨桉木建筑模板的优势&#xff0c;并为您提供选择建筑模板的指导。 桉木作…

从人工测绘到无人机航测:探索测绘技术的巨大变革

在测绘领域&#xff0c;随着科技的不断进步&#xff0c;测绘技术也在不断演进。人工测绘、传统航测以及如今的无人机航测&#xff0c;每一次进步都为我们提供了更加精确和高效的地图数据。本文将带你深入探索这些技术的演变及其应用。 一、人工测绘的时代 早期的地图制作依赖于…

公司的固定资产怎么管理的

固定资产的管理是公司运作的重要组成部分。它不仅影响到公司的运营效率&#xff0c;也直接影响到公司的财务状况。然而&#xff0c;如何有效地管理公司的固定资产&#xff0c;仍然是一个需要深入研究和解决的问题。  有效的固定资产管理需要建立一个全面、系统的管理体系。这…

【数据分享】2006-2021年我国省份级别的排水和污水处理相关指标(20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国省份级别的市政设施水平相关指标、2006-2021年我国省份级别的各类建设用地面积数…