文档开发者中心
我的

用二十行代码实现微信自动抢红包(基于sikuli)

【写在前面】


小燕同学:领导经常会在群里发红包,但是我经常一忙就没抢到红包,哎,感觉错过了一个亿。


鹏哥:那我帮你写个微信自动抢红包的程序? (一脸心虚,完全不会呀!python的wechat库都已经被封了,根本连登录微信都还不会搞)


过 了N久以后,


鹏哥:正巧,在工作中 遇到了一个叫Sikuli的图形自动化工具,借来一用。



【效果如下】




【实现原理】


1、先大致简介下Sikuli软件


Sikuli本身是通过图形识别,将对应的图形与用户的操作进行相关联。


界面大致如下 :



通过自定义的函数,可以实现用户操作,比如find实现查找某一图片;click实现鼠标单击操作。从我个人的感觉来说,可以模拟一切界面自动化。



2、Sikuli安装:


Sikuli软件安装也是免费的,有两种方法可以实现。


(1)Sikuli官网下载:https://launchpad.net/sikuli/+download。当然需要安装JDK 8.0以上版本。然后可以通过sikulixsetup-1.1.3.jar联网下载。


在安装开始时,选择1和2,其他都用默认选项即可。



(2)Sikuli免网络下载:由于家里网络不好,无法通过联网下载。因此我又找到了免下载的安装包。


https://dl.pconline.com.cn/download/812455.html



3、微信抢红包的实现:


(1)问题一:桌面版微信看不到红包。


因为 sikuli软件可以在window系统上运行,因此一开始我安装了微信的桌面版。但是发现桌面版微信是看不到红包的,而且也不能发红包。


解决方法:


平时经常看各种主播玩手游,因此想到了通过安卓模拟器来使用微信。


没想到有一天,我解决问题是 因为我平时爱看直播,哈哈。对了,我用的是雷电模拟器。




(2)问题二:Sikuli自带 数太少,无法进行功能优化,如对已抢红包不处理等。


由于Sikuli自带函数比较少,只有一些最基本的查找、比对、单击、右键、双击、拖拉等按钮,因此对微信抢红包的优化暂没有投入研究。


从其他博客中 ,有看到,可能 将python selenium与sikuli结合起来使用,那下次再学习下。



(3)问题三:目前代码还未实现自动登录微信的功能,因此需要用户提前在雷电模拟器上登录进微信。



【示例代码】


我代码逻辑是每隔5S进行红包检测,如果发现有红包就进行抢红包;如果没发现红包,就sleep(5)。


由于最近发现CSDN上好多资料下载需要积分,因此就将源码上传到CSDN网站了,以此换积分吧。



Sikuli软件还是很简单的,可以自己快速入手的。



【写在最后】


革命尚未成功,吾将继续努力!

点赞
收藏
1
回复
2
分享
举报
浏览3195 发布于2019-11-25 15:35未知归属地
全部评论
最多点赞
最新发布
最早发布

值得一看,谢谢楼主


2楼回复于2019-11-27 18:14 未知归属地

顶顶,让更多人看到


1楼回复于2019-11-27 17:32 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。