首页 > 编程知识 正文

python滑动验证码(极验验证码第三方破解)

时间:2023-05-04 20:38:41 阅读:80696 作者:522

1 .前置(一个注意事项) )

诺特:

如果windows系统是在虚拟机上启动的,则可能需要考虑虚拟机和物理机的鼠标是否同步。 (这里以Mac系统启动的虚拟机为例。 )如下所示。

2 .如果虚拟机和物理机的鼠标不同步,则会发生验证码识别过程,鼠标点击拖动可能会消失,以后可能无法准确估计鼠标点击拖动的位置信息。

2 .进程概述

3 .具体步骤说明

3.1 )以这个场景为例,打开网站进行验证码的识别过程

测试地址:“‘ http://www.jq22.com/yanshi19009”(建议在谷歌浏览器中打开)

3 .考虑到2页的外观,使用“序列”组件

3.3激活窗口并拍摄屏幕快照

诺特:

1 .每次验证前激活窗口,确认鼠标点击拖动是否有效;

2 .使用“屏幕截图”控件,剪切整个验证图像。 (为以后使用验证码识别器获取相对位置信息做准备)屏幕截图的返回值为路径c :is-RPAtempzk5r VC6j.png

3.4识别验证码的位置

诺特:

1 .将截图的返回值(保存路径)直接传递给认证码的接收值

2 .验证码类型说明:

8000:幻灯片验证码

8001 )坐标认证码(成语验证等) ) )

1004:4位字母数字

2004:4年4位数的汉字

3 .组件的原理也是后台人工识别,识别验证码的坐标信息,所以不能保证能够一次性完全正确地识别。

3.5位置处理

获取鼠标的相对位置信息(坐标仅针对整个验证屏幕快照),即鼠标实际需要拖动的距离=b

输出结果:

3.6显示拖动距离的消息框

每次拖动时,在弹出位置处理的拖动距离。 目的:可以更明确每次获取的位置信息,同时有助于之后多次调节坐标位置

注解:

从解读下载论坛网站幻灯片验证码的工程文件(./huadong/project.pro )中发现了以下法则。

即使在同一网站剪切同一张幻灯片验证图像,得到的参数信息也不同。 在原项目中使用截图,在本机下运行原项目文件,不在原初始位置点击鼠标,改变整个网页的位置,即可实现鼠标点的初始位置。 界面大致如下。

结论:点击并拖动计算出的鼠标的初始位置信息设定为与计算机的显示器尺寸相关

3.7代码点击鼠标进行拖动

代码如下所示。

从类型导入*

从类型导入*

defImouse_drag(x1,y1,x2,y2,button='左',速度=10 ) :

(x1、y1 )、x2、y2 )分别表示鼠标移动的开始坐标点

try:

dll=win dll.loadlibrary ((./com.isearch.func.Autoit/Autoitx3. dll ) )

# #对象为本地动态链接库文件

返回dll.au3 _鼠标点击拖动(按钮、x1、y1、x2、y2、速度) ) )。

# #如何用鼠标点击并拖动

执行方式为e :

赖斯e

3.8坐标参数值的计算-获取开始位置

诺特:

要实现点击鼠标拖动的方法,需要得到x1、y1、x2、y2四个参数值。

屏幕快照控件右侧属性栏的位置参数信息来自以下公式:

x1=(左位置估计值(/2

(推测值:蓝色滑块的水平中心位置)

y1=y2=(上边位置高度-推定值)/2

(估计值:蓝色滑块的垂直中心位置)

x2=x1’b

(这里的x1’可以根据多次衍射验证和切割图的正确距离的偏差取得平均值)

3.9异常处理-考虑验证失败

想法:

这里使用while循环。 条件设定为True。 也就是说,在死区的条件下进行验证码的识别过程,直到识别成功为止。

也考虑例外处理的情况。 如果验证过程中出现异常,请使用热键Ctrl R刷新页面,然后继续下一个周期

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。