本节课我们继续讨论网站系统登录验证码的处理方法。
首先回顾下第六课“登录滑块验证详解”的内容,我们详解了一波如何进行系统登录操作及基础的滑块验证操作,同时也提到其他的登录验证方式。其中,拼图滑块验证也是比较常见的一种。
那么,如何攻破拼图滑块验证呢?现在,就让我们一起来攻略一下。
准备工作:
准备开发流程的电脑,请打开云扩学院链接查看云扩RPA编辑器运行的硬件&软件要求。
打开云扩官网下载编辑器并安装。
本次课程介绍:
本次依据BOSS直聘登录的拼图验证的内容,来讲解一下具体的实现步骤及内容。
如下图,拼图滑动的验证,因为每次需要验证的图片是随机出现的,拼图滑动的距离是不确定的,所以在这里我们需要借助一下第三方平台“尖叫数据”来协助测定每张图片的移动距离,也是我们云扩市场组件已有的内容,下面具体来介绍下全部内容:
流程开发步骤:
创建新的项目,拖拽“流程图”组件用于包裹项目内容,重命名组件名字为“滑块验证”;项目创建完毕之后,去组件市场下载“尖叫数据OCR”,下载完毕之后可在组件列表扩展内容中查看。
正式开始处理滑块滑动内容之前,先整理下我们的思路:点击获取滑动界面->按下滑动按钮->拖动图片到内容缺失部分->松开鼠标->验证完成,具体内容见下面视频展示。
第一步:点击获取滑动界面,拖拽一个“点击”组件进入流程,点击拾取“圆点”元素,设置点击方式为“模拟鼠标”。
第二步:获取图片内容测定需要图片偏移量,此处分为两个步骤,1获取存放图片,2利用“尖叫数据”OCR测量图片需要偏移距离。
1.拖拽“截屏”组件拾取需要测定的图片元素,定义“picture”变量写入路径用于存放截屏图片存放地址。
2.拖入“滑块验证码识别”组件,定义“picad”作为结果输出变量,后面需要拆分picad获取偏移横坐标数据,识别图片地址,即为上面截屏图片获取的“picture”地址。
“滑块验证码识别”组件appcode一系列的参数获取方法,这里也详细说一下:
注册登录“尖叫数据”网站,查看基本信息即可获得AppCode、AppKey、AppSecret参数数据,购买“坐标图片验证码识别”服务,有0元10次试用版,也是很给力了!(网址:http://www.jianjiaoshuju.com/)。
“尖叫数据”平台返回的数据内容,还不是我们立即可用的横坐标偏移量,还需要我们加工处理一下,如下是返回的内容,我们只需要"v_code"的185即可, {"msg":"查询成功!","v_code":"185,78","errCode":0,"v_type":"sld"},咱们加入一段C#代码来处理下,拖入一个“执行C#代码”组件,代码块如下:
try{
JObject jo = (JObject)JsonConvert.DeserializeObject(picad); string plance= jo["v_code"].ToString(); string[] strArray = plance.Split(',');
xmove=Convert.ToInt32(strArray[0]);
}catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
其中xmove变量在变量定义类型,因为下面流程需要用到该变量;xmove的值即为我们想得到的185,横坐标的偏移量了;这里说一个小插曲,正常情况下xmove获取的数据即可,但是实际测试下来,多了8个像素的距离,所以这里又做了一波减去8个像素的赋值处理,这里推荐一个测量距离的尺子pixel ruler
上面我们已经获得拖动图片的偏移量了,需要开始拖动操作,类似之前说过的滑块验证的内容了,这里我再简单说一下,获取拖动按钮->按下按钮->按下偏移->松开,即完成验证。
以上我们已完成了滑块拖动的内容,但是为了流程的健壮性考虑,可能一次不能滑动通过的场景,这里需要我们特殊处理一下,刷新界面获取其他图片再次滑动操作。
下面录制了流程内容及执行过程,供大家参考:
拼图滑块验证的内容就这么些啦,大家是不是都会了呢,赶紧动手实操一下吧!
END 上海云扩信息科技有限公司是全球RPA领域的创新领军者。公司以自研的云扩RPA平台为核心,致力于为各行业客户提供智能的RPA机器人产品与解决方案,通过RPA赋能,持续为客户创造价值,助力企业推进数字化转型。![ad77eb01ae7d2383c3026f669f731afb.gif](https://img-blog.csdnimg.cn/img_convert/ad77eb01ae7d2383c3026f669f731afb.gif)