RPA 思路解决拖拽型验证码探索
【背景】
首先,需要感谢 jiangyudong 的帖子 http://support.i-search.com.cn/article/1542798347228 。为大家提供了使用 selenium+python(Chrome 浏览器) ,纯 Python 的方式解决这个问题很多思路。
但是纯 Python 方法完全独立于艺赛旗产品之外 , 实现过程中也有过多第三方内容的配置,并不太适合于大多数项目的交付使用。 方法的可复制性也存在限制 ,诸如有很多环境配置的工作其实并未在帖子中说明。
【RPA 思路解决拖拽验证码问题】
RPA 思路就是能用艺赛旗 RPA 实现的部分尽量使用艺赛旗 RPA ,目的是促使 RPA 平台更加完善。
下面分享思路,截图,视频,和工程文件。
我的笔记本是: Win10 桌面分辨率(1440 * 900),使用 IE 运行本测试 。截图组件,和鼠标拖拽的方法会受分辨率影响。 (后续如果可以有更好的内置鼠标拖拽方法,可以不受限于分辨率那便是极好的)
【步骤】(本次实测的网站是 Bibi)
1) 截取原图 lv_img_full(将鼠标移动到拖动按钮就会出现原图)
截取带缺口图 lv_img_miss (点击一下拖动按钮就会出现带缺口图)
2) 对比两图,计算缺口距离。
3)调用拖拽鼠标函数
【说明】
由于该网站直接拖动即可解决问题,所以也就不需要考虑机器人匀速移动问题。
该工程中一共只有两个全局函数,其他都是由艺赛旗 RPA7.0 搞定。
【关于准确率】
利用工程中的算法 ,其实无法达到 100% 的准确性。 但是这个测试网站(由于没有次数限制),是可以考虑 Retry 的方式 ,这一部分并未放入工程。
想要提升准确率,需要研究更加准确图像对比算法。
【截图 + 视频 + 工程】
运行视频 & 艺赛旗 7.0 工程
537f74dae3d54f80a5b2c06ec6c93026_.7z
谢谢大家。
我按照您的 demo 试了试,运行报错啊
这是因为我少什么库么?
记得之前有个同学他自己找规律,结果发现缺口的地方 10 次有 7-8 次在同一个位置,后来他就固定拖到那里,不成功就刷新再来一次 😆,你这个应该会更准确一些,学习。
还有提个小建议,有代码的不放截图,直接代码贴上来,这样大家用的时候就可以直接复制了哈。使用 markdown 语法编辑,右上角有帮助可以参考,像这样
赞,大家赶快尝试起来👍