分分一分快三走势_What?废柴, 模拟登陆,代码控制滑动验证真的很难吗?Are you kidding???

  • 时间:
  • 浏览:2
  • 来源:QQ技术网_提供蜗牛娱乐网技术_QQ皇族馆资讯

1.简介

  在前边的python接口自动化的日后,大伙儿不可能 博客园的登录机制的改变,如此 用博客园的登录测试接口。如此 博客园现在变成了滑动验证登录,有些现在绝大多数的登录都变成这人滑动验证和验证码的登录验证机制。大伙儿真的如此 有些辦法 补救这人验证机制的登录好久?真的是束手无策好久?答案是:NO,今天宏哥教你如可用代码来模拟鼠标滑动,最终验证成功后,最后成功登录。如此 为什做了,思路了???

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

滑动验证难点

1.电脑如可自动点击滑动块

2.电脑如可检测 缺口位置(如图;)

3.补救这曾经问題辦法

  1. 如可自动点击滑动块,也却说我图中的左下方圈起来的位置,大伙儿可不须要使用selenium
  2. 为什计算缺口的位置,大伙儿可不须要通过PIL库的image

4.博客园登录

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

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

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

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

  通过对比两张图片可不须要发现,两张图片有两处明显不同的地方:曾经是待拼合的滑块,曾经是缺口。滑块的位置会冒出在左边位置,缺口会冒出在与滑块同一水平线的位置,却说我缺口一般会在滑块的右侧。不可能 要寻找缺口,直接从滑块右侧寻找即可。这里直接设置遍历的起始横坐标为50,也却说我从滑块的右侧日后结速识别,曾经识别出的结果却说我缺口的位置。

下图却说我用来说明如可对比图片:

 思路大伙儿清楚了,曾经们就日后结速撸代码吧。

4.1代码实现:

4.2参考代码:

# coding=utf-8