大发五分快3_五分快3APP下载_What?废柴, 模拟登陆,代码控制滑动验证真的很难吗?Are you kidding???

  • 时间:
  • 浏览:1
  • 来源:福建生活网_福建人的网上生活家园

1.简介

  在前边的python接口自动化的原来,大伙儿 原来博客园的登录机制的改变,越来越用博客园的登录测试接口。越来越博客园现在变成了滑动验证登录,统统现在绝大多数的登录都变成统统滑动验证和验证码的登录验证机制。大伙儿 真的越来越统统辦法 防止统统验证机制的登录多会儿?真的是束手无策多会儿?答案是:NO,今天宏哥教你怎么能能用代码来模拟鼠标滑动,最终验证成功后,最后成功登录。越来越为甚做了,思路了???

2.大伙儿 首先理解滑动验证的原理

滑动验证难点

1.电脑怎么能能自动点击滑动块

2.电脑怎么能能检测 缺口位置(如图;)

3.防止统统有2个 问题图片辦法

  1. 怎么能能自动点击滑动块,也而是图中的左下方圈起来的位置,大伙儿 可不前要使用selenium
  2. 为甚计算缺口的位置,大伙儿 可不前要通过PIL库的image

4.博客园登录

  既然有了防止辦法 ,大伙儿 看一下博客园的登录思路:

(1)首先大伙儿 前要打开登录页面,并输入用户名和密码,点击登录按钮,弹出验证码图片;(统统比较简单也容易实现)

(2)其次大伙儿 前要获取2张验证码图片,带缺口和不带缺口;

(3)最后大伙儿 前要获取缺口位置。遍历带缺口的图片和不带缺口的图片的每个像素,利用 is_pixel_equal() 辦法 判断两张图片同一位置的像素是是否是相同。比较两张图 RGB 的绝对值是是否是均小于定义的阈值 thresold。原来绝对值均在阈值之内,则代表像素点相同,继续遍历。统统代表不相同的像素点,而是缺口的位置。

  通过对比两张图片可不前要发现,两张图片有两处明显不同的地方:一一有2个 是待拼合的滑块,一一有2个 是缺口。滑块的位置会老出在左边位置,缺口会老出在与滑块同一水平线的位置,统统缺口一般会在滑块的右侧。原来要寻找缺口,直接从滑块右侧寻找即可。这里直接设置遍历的起始横坐标为30,也而是从滑块的右侧现在现在开始 英文识别,原来识别出的结果而是缺口的位置。

下图而是用来说明怎么能能对比图片:

 思路大伙儿 清楚了,那大伙儿 就现在现在开始 英文撸代码吧。

4.1代码实现:

4.2参考代码:

# coding=utf-8