艺赛旗(RPA)RPA8.0 解决滑动验证码完整流程
艺赛旗 RPA8.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1
- 前置(一个注意点)
Note: - 有一种情况,若 windows 系统是在虚拟机中启动的,则要考虑虚拟机与物理机的鼠标是否同步的问题。(此处以 Mac 系统启动的虚机为例) 如下:
2. 如果没有将虚拟机与物理机的鼠标进行同步,则可能导致验证码识别过程,看不到鼠标点击拖动的情形,以至于后续无法准确估算鼠标点击拖动的位置信息。
流程全览
在这里插入图片描述](https://img-blog.csdnimg.cn/20190315133737544.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ0NzY4Nw==,size_16,color_FFFFFF,t_70)具体步骤说明
3.1(以本场景为例)打开网站进行验证码识别过程
测试地址:‘http://www.jq22.com/yanshi19009’(推荐使用“谷歌浏览器”打开)
3.2 基于页面美观考虑,我们使用“序列”组件
3.3 激活窗口并截图
Note:
- 每次验证前激活窗口,确保鼠标的点击拖动有效;
- 使用“截图”控件截取整个验证图片。(为后续使用验证码识别器获取相对位置信息作准备)截图的返回值为一个路径:C:\iS-RPA\temp\ZK5RVC6j.png
3.4 识别验证码位置
Note:
- 将截图的返回值(保存路径)直接传给验证码的接收值
- 验证码类型说明:
8000: 滑动验证码
8001:坐标验证码(成语验证等)
1004:4 位英文数字
2004:4 位纯汉字
- 组件原理也是通过后台人工识别,识别得出验证码的坐标信息,因此不能保证识别一次完全准确
3.5 位置处理
获取鼠标的相对位置信息(坐标仅相对于整个验证截图),即鼠标需要实际拖动的距离 = b
输出结果:
3.6 弹出拖动距离的消息提示框
每次拖动前,弹出位置处理得出的拖动距离。目的:可以更明确每次获取的位置信息;同时有助于后续多次调节坐标位置
Note:
由下载论坛网站的破解滑动验证码工程文件(…/huadong/project.pro)发现如下规律:
同样的网站截取相同滑动验证图片,得到的参数信息并不同。使用原工程中截图,在本机下执行原工程文件,鼠标不在原来初始位置点击,而改变网页整体位置后,可以实现鼠标点中初始位置。界面大致如下:
结论:我们设定计算出的鼠标点击拖动初始位置信息与电脑显示屏大小相关
3.7 代码实现点击鼠标拖动
代码如下:
from ctypes import *
from ctypes.wintypes import *
def imouse_drag(x1, y1, x2, y2,button=‘left’,speed=10):
(x1,y1),(x2,y2)分别表示:鼠标移动的初末坐标点
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
3.8 计算坐标参数值 - 获取起始位置
在这里插入图片描述
Note:
实现点击鼠标拖动的方法,我们需要得到 x1,y1,x2,y2 四个参数值。
由“截图”控件右边属性栏的位置参数信息,可根据以下计算公式得出:
x1 = (左边位置 + 预估值)/ 2
(预估值:蓝色滑块的水平中心位置)
y1 = y2 = (上边位置 + 高度 - 预估值)/ 2
(预估值:蓝色滑块的垂直中心位置)
x2 = x1’ + b
(此处 x1’可根据多次滑动验证与缺口图准确距离的偏差取平均值)
3.9 异常处理 - 考虑验证失败情况
在这里插入图片描述
思路:
此处用 while 循环,条件设为 True,即:在死循环的条件下进行验证码的识别过程,直到识别成功;
同时考虑异常处理的情况:若在验证过程出现异常,即使用热键 Ctrl+R 刷新页面,进行下一次循环
完整流程包:
http://support.i-search.com.cn/upload/bbs/20190315/fe10decb07464dfa89ae81e644eda645_huadong.zip
艺赛旗(RPA)RPA8.0 解决滑动验证码完整流程相关推荐
- 艺赛旗(RPA) 新手课堂 - 键盘与输入
艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 详细内容请参看艺赛旗官网支持栏目:RPA社区 点击链接 ...
- 艺赛旗RPA验证码处理系列(一):解决滑动加文字识别验证码
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 有同学在项目上碰到这 ...
- 艺赛旗RPA验证码处理系列(三):破解极验滑动验证码
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 一,介绍 一些网站会 ...
- iS-RPA2022.1.0 | 艺赛旗RPA新版本正式发布
了解RPA: www.i-search.com.cn 学习RPA https://support.i-search.com.cn/ 更智能的操作方式,更高效的升级体验,更生动的交互方式,更快捷的运行速 ...
- 艺赛旗RPA 网页处理系列(四):网页表格中获取数据,并点击相应记录后的按钮操作说明总结
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 问题描述 最近有很多 ...
- 艺赛旗RPA 网页处理系列(一):在网页中的可变元素如何准确定位
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 在网页中的可变元素如 ...
- 艺赛旗RPA开发金蝶ERP自动化流程的技巧
前言 最近在开发金蝶EAS(ERP)系统的自动化流程,使用的艺赛旗版本为20.5,以下是多日来对金蝶系统的开发经验总结,希望对各位有用. 一.注入Java插件方法 安装了设计器20.5的版本后发现无法 ...
- 艺赛旗RPA 第三方库系列(一):如何调用 Python 第三方库
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 当你需要调用使用 p ...
- 艺赛旗RPA 网页处理系列(三):网页检查 / 审查小技巧
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 当需要进行网页操作的 ...
最新文章
- distinct 多列问题 group by 解决
- Maven : 将Jar安装到本地仓库和Jar上传到私服[转]
- 【组合数学】生成函数 ( 求和性质 )
- Learning Deep Structured Semantic Models for Web Search using Clickthrough Data (DSSM)
- RN返回navigation方法
- 【Angular】内核
- Rstudio修改背景颜色和源
- android开发 视图联动_新版首页技术设计和实现方案(Android)
- 数组:三种初始化及内存分析
- CMD不能显示中文解决方案
- VC2008 Windows Media Player控件的使用技巧 二
- flask get 参数_Python web 用它5分钟以后,我放弃用了四年的 Flask
- Eigen教程(11)之存储顺序
- 文字识别(三)--文字定位与切割
- Leetcode 344:Reverse String 反转字符串
- [转载] 信息系统项目管理师论文范例:论软件项目的进度管理
- C3之text属性的补充
- wegame显示密保服务器,wegame英雄联盟怎么选定大区
- win10系统无工具一键升级与重装
- python选股模型 均线_python量化 双均线策略(金叉死叉)