用二十行代碼實現微信自動搶紅包(基於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軟件還是很簡單的,可以自己快速入手的。

 

【寫在最後】

革命尚未成功,吾將繼續努力!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章