广告
返回顶部
首页 > 资讯 > 精选 >selenium+java破解极验滑动验证码的示例代码
  • 737
分享到

selenium+java破解极验滑动验证码的示例代码

2023-05-30 16:05:13 737人浏览 安东尼
摘要

摘要分析验证码素材图片混淆原理,并采用selenium模拟人拖动滑块过程,进而破解验证码。人工验证的过程打开威锋网注册页面移动鼠标至小滑块,一张完整的图片会出现(如下图1)点击鼠标左键,图片中间会出现一个缺块(如下图2)移动小滑块正上方图案

摘要

分析验证码素材图片混淆原理,并采用selenium模拟人拖动滑块过程,进而破解验证码。

人工验证的过程

打开威锋网注册页面

移动鼠标至小滑块,一张完整的图片会出现(如下图1)

selenium+java破解极验滑动验证码的示例代码

点击鼠标左键,图片中间会出现一个缺块(如下图2)

selenium+java破解极验滑动验证码的示例代码

移动小滑块正上方图案至缺块处

验证通过

selenium模拟验证的过程

  1. 加载威锋网注册页面
  2. 下载图片1和缺块图片2
  3. 根据两张图片的差异计算平移的距离x
  4. 模拟鼠标点击事件,点击小滑块向右移动x
  5. 验证通过
  6. 详细分析

打开chrome浏览器控制台,会发现图1所示的验证码图片并不是极验后台返回的原图。而是由多个div拼接而成(如下图3)

selenium+java破解极验滑动验证码的示例代码

通过图片显示div的style属性可知,极验后台把图片进行切割加错位处理。把素材图片切割成10 * 58大小的52张小图,再进行错位处理。在网页上显示的时候,再通过CSS的background-position属性对图片进行还原。以上的图1和图2都是经过了这种处理。在这种情况下,使用selenium模拟验证是需要对下载的验证码图片进行还原。如上图3的第一个div.gt_cut_fullbg_slice标签,它的大小为10px * 58px,其中style属性为background-image: url("Http://static.geetest.com/pictures/gt/969ffa43c/969ffa43c.WEBp"); background-position: -157px -58px;会把该属性对应url的图片进行一个平移操作,以左上角为参考,向左平移157px,向上平移58px,图片超出部分不会显示。所以上图1所示图片是由26 * 2个10px * 58px大小的div组成(如下图4)。每一个小方块的大小58 * 10

selenium+java破解极验滑动验证码的示例代码

下载图片并还原,上一步骤分析了图片具体的混淆逻辑,具体还原图片的代码实现如下,主要逻辑是把原图裁剪为52张小图,然后拼接成一张完整的图。

private static void restoreImage(String type) throws IOException {  //把图片裁剪为2 * 26份  for(int i = 0; i < 52; i++){    cutPic(basePath + type +".jpg"        ,basePath + "result/" + type + i + ".jpg", -moveArray[i][0], -moveArray[i][1], 10, 58);  }  //拼接图片  String[] b = new String[26];  for(int i = 0; i < 26; i++){    b[i] = String.fORMat(basePath + "result/" + type + "%d.jpg", i);  }  mergeImage(b, 1, basePath + "result/" + type + "result1.jpg");  //拼接图片  String[] c = new String[26];  for(int i = 0; i < 26; i++){    c[i] = String.format(basePath + "result/" + type + "%d.jpg", i + 26);  }  mergeImage(c, 1, basePath + "result/" + type + "result2.jpg");  mergeImage(new String[]{basePath + "result/" + type + "result1.jpg",      basePath + "result/" + type + "result2.jpg"}, 2, basePath + "result/" + type + "result3.jpg");  //删除产生的中间图片  for(int i = 0; i < 52; i++){    new File(basePath + "result/" + type + i + ".jpg").deleteOnExit();  }  new File(basePath + "result/" + type + "result1.jpg").deleteOnExit();  new File(basePath + "result/" + type + "result2.jpg").deleteOnExit();}

--结束END--

本文标题: selenium+java破解极验滑动验证码的示例代码

本文链接: https://www.lsjlt.com/news/219834.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • selenium+java破解极验滑动验证码的示例代码
    摘要分析验证码素材图片混淆原理,并采用selenium模拟人拖动滑块过程,进而破解验证码。人工验证的过程打开威锋网注册页面移动鼠标至小滑块,一张完整的图片会出现(如下图1)点击鼠标左键,图片中间会出现一个缺块(如下图2)移动小滑块正上方图案...
    99+
    2023-05-30
  • Java selenium处理极验滑动验证码示例
    要爬取一个网站遇到了极验的验证码,这周都在想着怎么破解这个,网上搜了好多知乎上看到有人问了这问题,我按照这思路去大概实现了一下。1.使用htmlunit(这种方式我没成功,模拟鼠标拖拽后轨迹没生成,可以跳过)我用的是java,我首先先想到了...
    99+
    2023-05-31
    java selenium ava
  • Python破解极验滑动验证码的示例分析
    这篇文章将为大家详细讲解有关Python破解极验滑动验证码的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。极验滑动验证码以上图片是最典型的要属于极验滑动认证了,极验官网:http://www.ge...
    99+
    2023-06-15
  • Python破解极验滑动验证码详细步骤
    目录极验滑动验证码实现位移移动需要的基础知识对比两张图片,找出缺口获得图片按照位移移动详细代码极验滑动验证码 以上图片是最典型的要属于极验滑动认证了,极验官网:http://www...
    99+
    2022-11-12
  • Java实现滑动验证码的示例代码
    目录1.效果演示2.后端代码控制层工具类3.前端页面功能:java实现滑动验证码 项目是采用springboot,maven 开发工具:采用idea 1.效果演示 2.后端代码...
    99+
    2022-11-13
  • 验证码案例(极验3滑动模式)
    文章目录 验证码案例 【极验3滑动模式】1 声明2 案例目标2.1 网站2.2 接口2.3 参数2.4 算法 3 验证流程分析3.1 抓包分析3.2 获取验证码图片3.2.1 大致流程3....
    99+
    2023-09-02
    python javascript node.js 爬虫 网络安全
  • 怎么用Python破解滑动验证码
    本篇文章给大家分享的是有关怎么用Python破解滑动验证码,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。相信大家在登录某些网站的时候,都会遇到请输入验证码的状态,比如在哔哔哔哔...
    99+
    2023-06-02
  • 用Python爬虫破解滑动验证码的案例解析
    做爬虫总会遇到各种各样的反爬限制,反爬的第一道防线往往在登录就出现了,为了限制爬虫自动登录,各家使出了浑身解数,所谓道高一尺魔高一丈。 今天分享个如何简单处理滑动图片的验证码的案例。...
    99+
    2022-11-12
  • Android自定义滑动验证条的示例代码
    本文介绍了Android自定义滑动验证条的示例代码,分享给大家,具体如下:*注:不知道为什么,h6的标签在这里没用了,所以我也只能用Markdown的语法来写了项目地址:https://github.com/994866755/handso...
    99+
    2023-05-30
    android 滑动验证条 roi
  • Python+selenium破解拼图验证码的脚本
    目录实现思路核心代码实现思路 很多网站都有拼图验证码 1.首先要了解拼图验证码的生成原理 2.制定破解计划,考虑其可能性和成功率。 3.编写脚本 很多网站的拼图验证码都是直接借助第三...
    99+
    2022-11-13
  • 怎么用Python爬虫破解滑动验证码
    这篇文章给大家分享的是有关怎么用Python爬虫破解滑动验证码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型...
    99+
    2023-06-14
  • python自动化测试之破解滑动验证码
    在Web自动化测试的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证。一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码!那么如...
    99+
    2022-11-11
  • 基于C#实现图片滑动验证码的示例代码
    目录图片准备合成目标实现1.创建项目2.Nuget添加ImageSharp3.vscode打开4.引入图片5.生成out_bg.jpg6.生成out_slider.png全部代码最后...
    99+
    2022-11-13
  • 使用 Node.js 模拟滑动拼图验证码操作的示例代码
    近几年,网页上各种新型验证码层出不穷,其中一种比较常见的是滑动验证码,比如下图这种。 本文介绍了一种使用纯前端方法寻找滑动终点并模拟滑动的方法。 我们需要三个依赖库: puppeteer 、 Resemb...
    99+
    2022-06-04
    验证码 示例 拼图
  • Java实现短信验证码的示例代码
    目录项目需求需求来由代码实现发送验证码方法注册方法忘记密码前端代码编码中遇到的问题如何改进短信验证码相信大家都不陌生吗,但是短信验证码怎么生成的你真的了解吗,本文揭示本人项目中对短信...
    99+
    2022-11-13
  • Vue插件之滑动验证码的示例分析
    小编给大家分享一下Vue插件之滑动验证码的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!预览目前仅前端实现,支持移动端滑...
    99+
    2022-10-19
  • 用selenium解决滑块验证码的实现步骤
    目录前言实现步骤1. 用selenium打开浏览器浏览指定网站1.1 找到chromedriver.exe的路径1.2 代码2.将残缺块图片和背景图片下载到本地2.1 找到图片位置2...
    99+
    2023-02-14
    selenium 滑动验证码 selenium 滑块验证 滑块验证码自动识别
  • 利用Python+Selenium破解春秋航空网滑块验证码的实战过程
    目录前言开发工具环境搭建实战记录一.验证码简介二.破解滑块验证码2.1计算滑块到缺口的距离2.2将滑块拖到缺口位置前言 记录一次利用Python+Selenium破解滑块验证码的实战过程。 让我们愉快地开始吧~ 开...
    99+
    2022-06-02
    Python Selenium滑块验证码 Python Selenium验证码
  • Java设置Excel数据验证的示例代码
    数据验证是Excel 2013版本中,数据功能组下面的一个功能,在Excel2013之前的版本,包含Excel2010 Excel2007称为数据有效性。通过在excel表格中设置数...
    99+
    2022-11-13
  • python通过pillow识别动态验证码的示例代码
    目录环境配置 安装 pillow(PIL)库识别过程生活中,我们在登录微博,邮箱的时候,常常会碰到验证码。在工作时,如果想要爬取一些数据,也会碰到验证码的阻碍。本次试验将带领大家认识...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作