python自动化测试之破解滑动验证码
在Web自动化测试的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证。一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码!
在Web自动化测试的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证。
一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码!
那么如果开发不提供帮助的话,我们自己有没有办法来处理这些验证码的问题呢?
答案当然是有的,常见的验证码一般分为两类,一类是图文验证码,一类是滑动验证码!
滑动验证破解思路
关于滑动验证码破解的思路大体上来讲就是以下两个步骤:
- 1、获取滑块滑动的距离
- 2、模拟拖动滑块,通过验证。
关于这种滑动的验证码,滑块和缺口背景都是分别是一张独立的图片,我们可以把这两张图片,
下载下来借助于图像识别的技术,去识别缺口在背景图中的位置,然后减去滑块当前所在位置,就可以得出需要滑动的距离。
案例讲解
话不多说,我们先来看一个案例(QQ 空间登录),QQ 空间登录案例实现步骤如下:
- 1、创建一个driver对象,访问qq登录页面
- 2、输入账号密码
- 3、点击登录
- 4、模拟滑动验证
实现代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
运行效果:
其实关于这个模块图像识别,是借助了第三方的图像处理模块来进行识别的,python 中有很多现成的用来处理图片的库,本文使用的是 opencv-python 来进行识别的。slideVerfication 模块上面用到的两个方法的部分参考代码如下:
根据传入滑块,和背景的节点,计算滑块的距离
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
滑动滑块进行验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)