RPA 思路解决拖拽型验证码探索

【背景】
首先,需要感谢 jiangyudong 的帖子 破解极验滑动验证码 。为大家提供了使用 selenium+python(Chrome 浏览器) ,纯 Python 的方式解决这个问题很多思路。
但是纯 Python 方法完全独立于艺赛旗产品之外 , 实现过程中也有过多第三方内容的配置,并不太适合于大多数项目的交付使用。 方法的可复制性也存在限制 ,诸如有很多环境配置的工作其实并未在帖子中说明。

【RPA 思路解决拖拽验证码问题】
RPA 思路就是能用艺赛旗 RPA 实现的部分尽量使用艺赛旗 RPA ,目的是促使 RPA 平台更加完善。
下面分享思路,截图,视频,和工程文件。
我的笔记本是: Win10 桌面分辨率(1440 * 900),使用 IE 运行本测试 。截图组件,和鼠标拖拽的方法会受分辨率影响。 (后续如果可以有更好的内置鼠标拖拽方法,可以不受限于分辨率那便是极好的)

【步骤】(本次实测的网站是 Bibi)
1) 截取原图 lv_img_full(将鼠标移动到拖动按钮就会出现原图)
截取带缺口图 lv_img_miss (点击一下拖动按钮就会出现带缺口图)
5d3e8f95302b4abda69e52d1b92bc1c0_image.png
ebb70b7ef7c4425f917ffb0a896b13e8_image.png

2) 对比两图,计算缺口距离。
afcd9bf9bd944b72b14b3bcf6779eda8_image.png

3)调用拖拽鼠标函数
0d77d2646c1148a4b555bd17bb393b60_image.png

【说明】
由于该网站直接拖动即可解决问题,所以也就不需要考虑机器人匀速移动问题。
该工程中一共只有两个全局函数,其他都是由艺赛旗 RPA7.0 搞定。

【关于准确率】
利用工程中的算法 ,其实无法达到 100% 的准确性。 但是这个测试网站(由于没有次数限制),是可以考虑 Retry 的方式 ,这一部分并未放入工程。

想要提升准确率,需要研究更加准确图像对比算法。

【截图 + 视频 + 工程】

cdace6fbc2e34fae86f7bb1d75ad43c2_image.png

4739c6eec7ed4f91a6bea11b2b4ae624_image.png

运行视频 & 艺赛旗 7.0 工程
537f74dae3d54f80a5b2c06ec6c93026_.7z

谢谢大家。