验证码服务
1、前言
随着时间的发展,验证码已经成为互联网应用的一个组成部分。对于RPA来说,验证码更是一个绕不过去的话题。 我们把验证码分为三类,分别是“字符类验证码”,“行为类验证码”,和“二次验证类验证码”。
“字符类验证码” 是指:要求正确地识别和输入验证码中显示的字符,判断当前操作者的身份
“行为类验证码” 是指:要求通过点击位置,滑动路径等特定的行为完成交互,判断当前操作者的身份
”二次验证类验证码“ 是指:要求正确返回发送给用户的手机号或邮箱的临时验证码,判断当前操作者的身份
首先给出我们的结论:花漾灵动 “图片验证码” 流程节点集成了“超级鹰”、“图鉴”等第三方打码服务。超级鹰适用于处理字符类验证码,图鉴则适用于处理行为类验证码。而“二次验证类验证码”则可以通过 “人工干预” 流程节点,引入“人的智慧”来规避验证码。
2、字符类验证码的自动处理:图片验证码
针对字符类验证码,一个比较好的方案是,集成一些第三方的打码服务。遇到验证码时,通过调用打码服务完成对验证码的识别与处理。目前经过测试,发现超级鹰适用于处理字符类验证码。
《花漾RPA集成的第三方打码服务》
我们以Naver登录为例,在登录时会出现字符类验证码,我们可以使用“图片验证码”流程节点来进行自动处理
《字符类验证码的识别》
使用方法如下:
- 指定出现字符类验证码的网页元素
- 指定该类验证码的类别,注意,这是和第三方打码服务紧密相关的参数,需要参考打码服务的文档说明
- 打码服务将识别后的内容存储至变量
- 最后,将识别后的内容填入至指定节点即可。
这里需要注意的是,如果需要将您希望使用的第三方打码服务集成至花漾RPA中,请和 在线客服 联络。
3、行为类验证码的自动处理:图片验证码
遇到行为类验证码,首先通过调用打码服务完成对验证码的识别与处理,获取需要处理的一个或者多个坐标,然后通过点击或者拖拽等操作就可实现该类验证码的自动处理。目前经过测试,发现图鉴适用于处理字符类验证码。
我们以京东登录为例,在点击登录会出现“拼图”验证码,我们可以使用“图片验证码”流程节点来进行自动处理
《行为类验证码的识别》
使用方法如下:
- 指定出现行为类验证码的网页元素
- 指定该类验证码的类别,注意,这是和第三方打码服务紧密相关的参数,需要参考打码服务的文档说明
- 打码服务将识别后的内容存储至变量
- 最后,将识别后的结果填入至指定节点,通常需要配合键鼠操作流程节点。
这里需要注意的是,如果需要将您希望使用的第三方打码服务集成至花漾RPA中,请和 在线客服 联络。
4、“二次验证类”验证码的处理机制:本机人工干预
针对“二次验证类”验证码,RPA引擎显然无法自动处理,必须等待用户的介入。针对这种情况,花漾灵动提供了“本机人工干预”与“远程人工干预”两个流程节点, 当RPA引擎执行到此节点时,会暂停流程的执行,等待用户干预,并由用户决定何时恢复流程的继续执行。
以“本机人工干预”节点为例:当RPA流程执行到此节点时,会弹框提示用户,用户可以决定是否干预流程的执行, 当干预完毕后,点击“确认完成”,RPA流程即可恢复执行。
我们以大麦网登录为例,登录时会出现手机短信验证身份页,因为我们没有适合的打码服务来自动规避此验证码,此时,可以通过“本机人工干预”流程节点, 暂停流程执行,让用户自行完成验证,然后再恢复流程的正常执行。
该流程定义的源码如下图所示:
《大麦网验证之本机人工干预》
上述源码的说明如下:
- 1)访问大麦网登录页面
- 2)通过“密码代填”流程节点,在无需告知密码的情况下,完成登录信息的填写
- 3)点击登录按钮
- 4)等待手机短信验证身份页或者首页出现
- 5)如果手机短信验证身份页已出现,则:6)打印日志,7)本机人工干预
- 8)如果手机短信验证身份页未出现,则:9)打印日志
上述流程的执行效果如下图所示:
《本地人工干预的执行效果》
5、“二次验证类”验证码的处理机制:远程人工干预
显然,上述示例存在的问题是:流程在执行期间需要用户在电脑旁边守候,以备随时干预。一种改进思路是:将干预能力移植到手机中,这就是“远程人工干预”。 修改后的流程如下图所示:
《大麦网验证之远程人工干预》
与上一示例唯一的区别是,将 “本机人工干预” 节点换成了 “远程人工干预” 节点。
《远程人工干预流程节点》
针对“远程人工干预”的介绍如下:
- 当流程执行到此节点时,会往指定人员(如流程的执行者)的微信发送消息
- 用户点击微信消息,会打开一个网页,该网页本质是花漾浏览器在手机中的镜像映射
- 用户可以在手机中操纵花漾浏览器,从而完成验证码或其它操作
远程人工干预流程节点的执行效果如下图所示:
《远程人工干预的执行效果》
6、总结
针对 “字符类验证码”,“行为类验证码” 和 “二次验证类验证码” 花漾灵动RPA都有相应的解决方案。
- 针对简单的 字符类验证码 与 “行为类验证码”,可以通过集成第三方的打码服务予以自动处理。超级鹰适用于处理字符类验证码,图鉴则适用于处理行为类验证码
- 针对复杂的 字符类验证码,“行为类验证码” 或 二次验证类验证码 ,可以通过 “本机人工干预” 或者 “远程人工干预” 节点,通过人工的干预以规避验证码