滑块验证码滑块移动像素偏移

问题背景

中国邮政速递物流网 中的滑块验证码为例:
滑块验证码
如上图滑块可拖动范围拼图可移动范围不相等,且该滑块验证码不能直接拖动拼图本身,如果直接将验证码的识别结果作为滑块的拖动距离会导致成功率极低,此时两者之间可能会有一个官方的偏移系数,需要找到系数并算出实际的滑块拖动距离。(若实在无从查找,只能自行预估并反复测试)

偏移系数查找思路

看到滑块元素不是一个普通的图片元素,而是由 canvas 绘制的,找到控制绘制的 js 代码

可以看到滑块上绑定有一个鼠标移动的事件,点进去

我们看到下面这段 js

打个断点大致分析一下代码,可以看出变量i是下方滑块被拖动的 X 轴像素,而被乘上的(t.w - 40 - 20) / (t.w - 40)应该就是偏移系数了,然后再分析一下这个系数,其中的t.w就是canvas画布的宽度350,至此就知道偏移系数的计算公式了

根据公式简单优化一下拖动的距离x,x = x / ((画布宽度 - 40 - 20) / (画布宽度 - 40)) ,大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值