【验证码】解决滑动加文字识别验证码

有同学在项目上碰到这样一种验证码:
【验证码】解决滑动加文字识别验证码 【验证码】解决滑动加文字识别验证码
这种验证码需要鼠标滑动加上文字识别,接下来我们就用 8.0 版本实现一下此功能。

首先看一下解锁步骤全流程:

【验证码】解决滑动加文字识别验证码

接下来我们分别讲解一下里面的关键步骤

第一步 解决鼠标滑动

这一步我是用代码实现,点击固定的坐标滑动解锁。

from ctypes import *
from ctypes.wintypes import *

def imouse_drag(x1, y1, x2, y2,button='left',speed=10):
    try:
        dll = windll.LoadLibrary("../Com.Isearch.Func.AutoIt/AutoItX3.dll")
        return dll.AU3_MouseClickDrag(button,x1,y1,x2,y2,speed)
    except Exception as e:
        raise e
		

第二步 截取需要识别的验证码图片

【验证码】解决滑动加文字识别验证码

注意:最后返回的位置,是根据你截图的范围决定的。

第三步 判断验证码位置

把截图的路径给到滑动验证码控件,并且控件设置codetype:8001
【验证码】解决滑动加文字识别验证码

不同端口可以开启不同的功能:
【验证码】解决滑动加文字识别验证码

第四步 提取位置参数并点击鼠标

【验证码】解决滑动加文字识别验证码
注意:位置参数需要根据实际情况调整。
【验证码】解决滑动加文字识别验证码

第五步 判断是否成功

【验证码】解决滑动加文字识别验证码
通过获取最后验证成功的文本来判断验证码是否识别成功,如不成功则继续重新验证。

【验证码】解决滑动加文字识别验证码

代码包

yanzhengma.zip