大发飞艇平台开户_What?废柴, 模拟登陆,代码控制滑动验证真的很难吗?Are you kidding???

  • 时间:
  • 浏览:6

1.简介

  在前边的python接口自动化的以前,大家 将会博客园的登录机制的改变,好难用博客园的登录测试接口。好难博客园现在变成了滑动验证登录,过后现在绝大多数的登录都变成这名 滑动验证和验证码的登录验证机制。大家 真的好难或多或少办法处里这名 验证机制的登录何时?真的是束手无策何时?答案是:NO,今天宏哥教你怎样用代码来模拟鼠标滑动,最终验证成功后,最后成功登录。好难为什么在么在会么会做了,思路了???

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

滑动验证难点

1.电脑怎样自动点击滑动块

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

3.处里这有有4个 问题报告 办法

  1. 怎样自动点击滑动块,也或多或少或多或少我图中的左下方圈起来的位置,大家 可不也能使用selenium
  2. 为什么在么在会么会计算缺口的位置,大家 可不也能通过PIL库的image

4.博客园登录

  既然有了处里办法,大家 看一下博客园的登录思路:

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

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

(3)最后大家 都要获取缺口位置。遍历带缺口的图片和不带缺口的图片的每个像素,利用 is_pixel_equal() 办法判断两张图片同一位置的像素是否是相同。比较两张图 RGB 的绝对值是否是均小于定义的阈值 thresold。将会绝对值均在阈值之内,则代表像素点相同,继续遍历。过后代表不相同的像素点,或多或少或多或少我缺口的位置。

  通过对比两张图片可不也能发现,两张图片有两处明显不同的地方:有有4个 是待拼合的滑块,有有4个 是缺口。滑块的位置会突然出显在左边位置,缺口会突然出显在与滑块同一水平线的位置,或多或少或多或少缺口一般会在滑块的右侧。将会要寻找缺口,直接从滑块右侧寻找即可。这里直接设置遍历的起始横坐标为100,也或多或少或多或少我从滑块的右侧过后结速了了识别,那我识别出的结果或多或少或多或少我缺口的位置。

下图或多或少或多或少我用来说明怎样对比图片:

 思路大家 清楚了,那大家就过后结速了了撸代码吧。

4.1代码实现:

4.2参考代码:

# coding=utf-8