selenium滑动验证

	半年多没发过博客了,这段时间也搞了很多东西,也算是成长了那么一丢丢。今天就来聊一下关于爬虫滑动验证。
	这段时间搞某航空网站,查询时候,会让登陆,点击登陆后,会弹出滑动验证码,简单上个图,让大家看下验证码的样子,如下:
  1. 在这里插入图片描述

    呵呵哒,滑块验证,简单跟大家聊下思路。
    先聊一下常见的极验的两个版本,第一个,是有背景图的,也就是当不点击滑块按钮的时候,页面背景图是没有滑块缺口的,点击一下就有了,这个现在找不到图片了,大家自行脑补。第二个,就是上面的这张图片,上来就是缺口,没有背景图。
    本次就以没有背景图的方式进行讲解。说一下本次的思路。因为没有背景图,所以我们得找一张可以充当背景图的图片当做背景图。怎么办?就将滑块滑到最右边,但是这样有一个限制条件,滑块缺口在最靠右最好,因为滑块缺口位置直接影响我们代码的执行。上一张我截得图,如下:在这里插入图片描述
    我们就将此图作为背景图,但是一个网站可能有多个背景图,但是不会太多,这就需要自己想办法截图了。
    说一下对比像素的时候需要注意的点:我们可以看到,图片中有颜色较深点的缺口,和颜色不太深的缺口,我们就需要确定颜色不太深的缺口它的三原色的容差(不是专有名词,我自己起的),如何确定?很简单。登陆微信,使用ctrl+a进行截图,将截图点点到颜色不太深的地方,会显示此点的横纵坐标以及三原色的值。然后我们在背景图的相同位置也进行如此操作,记下三原色,一定要多找不同的背景图进行测试,确定容差,因为颜色比较浅的三原色的值不会比真正的缺口三原色大。当进行多次测试之后,我们可以得出颜色较浅的缺口有个最大值,很多人看到网上的代码都有这个值,但是不知道是怎么来的,这个值就是这么来的。所以我们根据遍历背景图和当前的验证码图片相同位置的三原色的差值是否大于我们测量的那个颜色较浅的值,来确定是不是我们滑块的缺口。以此来判定此点是不是需要滑动的起始位置。基本思路就是这样,代码不多,下边附图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值