Web自动化神操作:如何用OpenCV 破解滑块验证码?

本文介绍了如何使用OpenCV和Java破解Web上的滑块验证码。通过获取滑块与背景缺口的距离,利用模板匹配技术和selenium的Actions类实现自动化滑动,详细解释了每个步骤并提供了代码示例。
摘要由CSDN通过智能技术生成

验证码作为一种安全机制,可以有效防止暴力破解密码、发帖、灌水、刷票等,大家在做 Web 自动化的时候应该有碰到验证码这个难题,一般我们可以和开发沟通请求他们的帮助:去掉验证码或者设置一个万能验证码,而如果开发不帮忙我们该如何去解决呢?

本篇文章以 Java 语言为例教你怎么破解验证码。

现在大多数网址会采用滑块验证码的方式,下面以腾讯的滑块验证码为例,先来看看破解的效果:

图片

要破解滑块验证码,我们一般采取的思路如下:

  • 获取滑块到背景缺口图的距离

  • 通过 selenium 的 Actions 类完成滑动

关键点就在于如何获取滑块到背景缺口图的距离,现在主流的方案是通过 OpenCV(Open Source Computer Vision Library)开源计算机视觉库来处理,openCV 有非常多图像处理方法,其是通过 C/C++ 开发的,但是对外有提供 Java,Python 的接口,所以不管是 Python 还是 Java 我们都可以使用 openCV 进行图像处理。

1环境准备

Step1:下载 OpenCV

进入到官网 https://opencv.org/releases/ 下载对应系统的 openCV 软件包,之后解压

Step2:配置环境变量

进入到 opencv -> build ->x64 ->vc15 ->bin 目录,将路径复制追加到 Path 环境变量中

Step3:Intellij 工程中添加 jar 包

Intellij 中选择 File -> Project Structure

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值