分分pk10合法吗 _What?废柴, 模拟登陆,代码控制滑动验证真的很难吗?Are you kidding???

  • 时间:
  • 浏览:0
  • 来源:HK的博客 - 专注共享代码信条分享

1.简介

  在前边的python接口自动化的完后 ,亲戚亲戚当我门当我门将会博客园的登录机制的改变,没法用博客园的登录测试接口。没法博客园现在变成了滑动验证登录,有就让 现在绝大多数的登录都变成有些滑动验证和验证码的登录验证机制。亲戚亲戚当我门当我门真的没法有些法律措施除理有些验证机制的登录什么就让?真的是束手无策什么就让?答案是:NO,今天宏哥教你怎么可否用代码来模拟鼠标滑动,最终验证成功后,最后成功登录。没法怎么能做了,思路了???

2.亲戚亲戚当我门当我门首先理解滑动验证的原理

滑动验证难点

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

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

3.除理这另3个问题图片图片法律措施

  1. 怎么可否自动点击滑动块,也本来图中的左下方圈起来的位置,亲戚亲戚当我门当我门要能使用selenium
  2. 怎么能计算缺口的位置,亲戚亲戚当我门当我门要能通过PIL库的image

4.博客园登录

  既然有了除理法律措施,亲戚亲戚当我门当我门看一下博客园的登录思路:

(1)首先亲戚亲戚当我门当我门还要打开登录页面,并输入用户名和密码,点击登录按钮,弹出验证码图片;(有些比较简单也容易实现)

(2)其次亲戚亲戚当我门当我门还要获取2张验证码图片,带缺口和不带缺口;

(3)最后亲戚亲戚当我门当我门还要获取缺口位置。遍历带缺口的图片和不带缺口的图片的每个像素,利用 is_pixel_equal() 法律措施判断两张图片同一位置的像素是是不是相同。比较两张图 RGB 的绝对值是是不是均小于定义的阈值 thresold。将会绝对值均在阈值之内,则代表像素点相同,继续遍历。有就让 代表不相同的像素点,本来缺口的位置。

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

下图本来用来说明怎么可否对比图片:

 思路亲戚亲戚当我门当我门清楚了,另另3个们就现在结速撸代码吧。

4.1代码实现:

4.2参考代码:

# coding=utf-8