RPA自动化机器人软件技术——微信识别模式

       集大成者的和信流程自动化机器人竟然不能识别微信?

       这不能忍!尝试过所有识别模式后发现,微信的架构并不是我们平常所见的程序一样,微信的界面由Duilib库开发, RPA软件 UIAwin32等模式均不能识别出界面元素,这是一个很神奇的库,它的界面就是一个画布。

       需求:

       RPA能够正确的识别微信元素。能够正常的收发信息。

       开工:

       使用spy++查看微信窗口句柄:没有更多的元素。

     RPA自动化机器人软件技术——微信识别模式

       思前想后得到3种方向,来分析可行性:

1、         使用逆向开发获取所需要元素的地址

2、         使用第三方库:itchatwxpy等等。

3、         使用图像识别

       原因分析:

       逆向开发

           1、         技术难度高。

           2、         目标程序升级后,地址可能会发生变化,需要重新校验。

       小结:不但技术难度大,学习成本也高,在短时间内,几乎不能好好的做出一个成品,弃用。

       第三方库:

       哇,这个库不错,几乎涵盖了所有需要的功能:如基本的收发信息,查看列表等等工具都是全的。并且有本地库,下载安装都很方便。

       下载安装搭建环境,扫码登录:

       RPA自动化机器人软件技术——微信识别模式

       弹出一句话:为了安全不能登录网页版??现在已经知道了,这是使用微信网页版接口整合的一个库。此方法也不能解决完所有需求,遂弃用。

       小结:emmmm~不能覆盖所有场景。

       图像识别

       还有最后一个办法了,试试看:

       图像识别就是在大图中找小图的位置,通过像素对比,结合误差率,达到某个误差率即为识别成功。

       像素对比法:


RPA自动化机器人软件技术——微信识别模式


       测试过后:一个14*14的图片识别需要近10秒才能出来,太慢,完全达不到识别需要的速度。

       继续想办法,观察微信程序,发现微信的图标都是固定的,那么可以识别一个基准点,推算出其他所有的坐标吗?经过测试,固定的元素都可以识别。但可以动的元素还是不行,继续想办法。

       终于发现一种图像识别的技术,毫秒级识别速度,完全可以代替像素比较法。

      最后总结:

       微信识别模式开发总算完成,通过坐标与图片识别技术结合,推算出最适合的目标位置,识别速度能够达到500ms以内,如果和AI结合的话,目前我们能够达到100ms以内。

       开发过程算是一个漫漫探索的长路,继续探索更好更快的办法,使RPA流程化机器人更强大。


相关资讯