用 python 實現螞蟻莊園自動拍球

解放雙手,享受 python 帶來的快感!

之前寫了一篇支付寶螞蟻莊園星星球的實現,有小夥伴留言要自動拍球。作為懶人,這是個強烈的需求!一起行動起來吧!

用 python 實現螞蟻莊園自動拍球

配置環境

硬件設備:

電腦(本文以mac系統為例) + 打開開發者選項USB調試的安卓手機(一般在設置>>查看本機>>點擊版本號多次可以開啟開發者選項) + 可以傳輸數據的數據線。

用 python 實現螞蟻莊園自動拍球

軟件環境:

電腦上 從官網下載安裝 Android Studio ,並在 SDK manager 裡安裝手機對應版本的 SDK 。

用 python 實現螞蟻莊園自動拍球

在電腦上添加環境變量。

vim ~/.bash_profile
ANDROID_HOME=/Users/lamyoung/Library/Android/sdk
PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH:.
export PATH

開啟了 usb 調試的安卓手機連接電腦,確保執行 adb devices 可以看到連接上的設備。

用 python 實現螞蟻莊園自動拍球

接著就是安裝 python3 中的 uiautomator2 庫。

pip3 install -U uiautomator2 --timeout 10000

安裝一些配置服務到手機。

python3 -m uiautomator2 init

檢查有沒配置成功,進入 python3 解釋器,輸入以下代碼,看到結果說明配置成功!

用 python 實現螞蟻莊園自動拍球

執行代碼

工欲善其事必先利其器,以上配置好了就可以開始寫 python3 代碼了。

經多次代碼調試和觀察,小球最終都會在右下角區域。所以我們只需要讓它不停的在該區域點擊就可以了。參考代碼如下。

import uiautomator2 as u2
d = u2.connect()
window_size = d.window_size()
window_w = window_size[0];

window_h = window_size[1];
count = 0
while count<10000:
count = count+1
d.click(window_w*0.62,window_h*0.89)

在手機點擊支付寶,進入螞蟻莊園星星球界面。執行代碼就可以實現自動打球了。打完結束後按 ctrl + z 退出腳本。

用 python 實現螞蟻莊園自動拍球

小結

整個工程主要在配置環境。uiautomator2 這個庫主要是用於自動化測試,還有許多其他功能,本文只用到了模擬點擊。

當然也可以直接用 adb 寫個循環控制點擊。本文主要是介紹用python去操控手機的一種方案。如果你有其他好方法歡迎留言分享。

更多精彩









用 python 實現螞蟻莊園自動拍球

本文僅供個人學習交流使用,請勿用於其他用途!


分享到:


相關文章: