30 行代码实现蚂蚁森林自动收能量
程序员的成长之路
共 3051字,需浏览 7分钟
·
2021-05-05 00:27
阅读本文大概需要 3.5 分钟。
打开支付宝;
打开蚂蚁森林;
先收取自己的能量;
跳到下一个有能量的人那边;
收取 ta 的能量
重复 4 和 5,直到没有能量可以“偷”
pip install --upgrade --pre uiautomator2
import uiautomator2 as u2
import time
import random
# d = u2.connect() # 有线连接,手机需要插电脑上
d = u2.connect("192.168.0.108") #通过无线连接,电脑和手机需要在同一个局域网内,并且需要先用有线的方式做过初始化
# d.app_stop("com.eg.android.AlipayGphone")
print("打开支付宝")
d.app_start("com.eg.android.AlipayGphone")
time.sleep(2) ## 休眠2s等待支付宝完全启动
print("打开蚂蚁森林,等待5s……")
d(text="蚂蚁森林").click()
time.sleep(5) ## 我手机比较卡,进入蚂蚁森林后还需要几秒钟才能完全加载完
def collectEnergy(cnt):
print("开始第%d次偷能量!" % cnt)
# 开始扫描点击有能力出现的区域
for x in range(150,1000,150):
for y in range(600,900,150):
d.long_click(x + random.randint(10,20), y + random.randint(10,20), 0.1)
time.sleep(0.01)
if cnt != 1:
d.click(536,1816)
cnt = 1
while True:
collectEnergy(cnt)
a = d.xpath("//*[@resource-id='J_tree_dialog_wrap']").get().bounds
d.click(1000, a[3]-80) # 找能量按钮的坐标
## 如果页面出现了“返回我的森林”说明已经没有能量可偷了,结束
if d.xpath('//*[@text="返回我的森林"]').click_exists(timeout=2.0):
break
cnt += 1
print("###结束###")
# d.app_stop("com.eg.android.AlipayGphone") # 退出支付宝
推荐阅读:
内容包含Java基础、JavaWeb、MySQL性能优化、JVM、锁、百万并发、消息队列、高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级......等技术栈!
⬇戳阅读原文领取! 朕已阅
评论