Python对旋转图片验证码的识别和破解(三)完结

本文介绍使用Python结合selenium、numpy和OpenCV来识别和破解旋转图片验证码。重点是将旋转角度转换为滑块的拖动距离,生成并执行拖动轨迹,模拟真实拖动过程,包括加速和减速,以及解决因忽视Y轴变化导致的识别问题。
摘要由CSDN通过智能技术生成

Python对旋转图片验证码的识别和破解

本文主要使用python + selenium来破解旋转突破的验证码;其中用到numpy和OpenCV(CV2)来进行图片拼接,转换,遮罩,识别等,共分三个部分:

(三)将旋转角度转换为拖动距离,并生成拖动轨迹,并拖动滑块

  • 找到滑块和滑块容器
    在这里插入图片描述

  • 将角度转换为移动距离

js_code = '''
w1 = document.getElementsByClassName('control-tips')[0].clientWidth; //滑块容器宽
w2 = document.getElementsByClassName('control-btn slideDragBtn')[0].offsetWidth; //滑块宽
zoom = (w2-w1)/360;
return zoom
'''
zoom = driver.execute_js(js_code)

distance = int(zoom * angle) # 角度转换为滑块拖动距离,
# distance = int(zoom * (360-angle)) 有的滑块拖动是逆时针旋转则angle = 360-angle
  • 生成移动轨迹
    模拟手动拖动时,加速再减速的过程,又时候会拖过去再返回,代码优化了网上滑动验证码类似轨迹计算
def get_track(distance:int)-><
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值