在蚂蚁森林把逝去的能量抢回(Python实现)

124 阅读5分钟

蚂蚁集团公开声明:每年投入蚂蚁森林数亿的费用属于纯公益捐赠。蚂蚁森林种下的树一经捐出,就属于国家、属于社会,未来如果这些树木产生碳汇,将全部用于公益。蚂蚁森林从未参与过碳交易。如果蚂蚁森林里记录的个人碳减排量未来能交易,产生的所有收益将属于用户个人,不属于蚂蚁森林。 

2 逝川长叹

在以前,容易忽略支护宝的我来说,很多能量被好友抢来,然后一直想找一个机会把失去的能量大范围的抢回来,苦于代码能力有限,一直没落实,最近很想弄,不在逝川长叹,也让别人羡慕我。

3 结果展示

 过几分钟再偷,赚大了,哈哈哈!

4 Python——uiautomator2库安装

UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。Uiautomator2是在Uiautomator之上的python的接口封装,简单来说 Uiautomator2可以看到手机当前屏幕上有哪些控件,其坐标是啥,并且还可以模拟点击。

下面我们讲讲安装uiautomator2库的方法(我常用的)。

  

5 Python代码实现

#=======导入相关库==========

import numpy as np

import matplotlib.pyplot as plt

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

import matplotlib;

matplotlib.use('TkAgg')

import uiautomator2 as u2

import time

import random

#=======# 有线连接,手机需要插电脑上,支付宝完全启动======

d = u2.connect()

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

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功! 最后祝你好运!!!

了解详情:docs.qq.com/doc/DSnl3ZG…