目录
4 Python——uiautomator2库安装
1 蚂蚁森林简介
蚂蚁森林是一项旨在带动公众低碳减排的公益项目,每个人的低碳行为在蚂蚁森林里可计为"绿色能量"。"绿色能量"积累到一定程度,就可以用手机申请在生态亟需修复的地区种下 一棵真树 ,或者在生物多样性亟需保护的地区“认领”保护权益。
蚂蚁森林在各地的生态修复项目,是由蚂蚁集团向公益机构捐赠资金,由公益机构组织种植养护等具体工作,并由当地林业部门进行业务监管,所有项目都有对应的捐赠协议、验收报告。 [23]
2019年9月19日,中国“蚂蚁森林”项目获 联合国 “ 地球卫士奖 ”
据生态环境部2021年“全国低碳日”主场活动公布的数据:蚂蚁森林从2016年上线5年来,已累计带动超过6.13亿人参与低碳生活,产生“绿色能量”2000多万吨。
为了激励社会公众的低碳生活,5年来蚂蚁森林参与到全国11个省份的生态修复工作,累计种下3.26亿棵树,其中在甘肃、内蒙古均超过1亿棵。 同时,蚂蚁森林还在全国10个省份设立了18个公益保护地,守护野生动植物1500多种。通过在各地的生态环保项目,蚂蚁森林累计创造了种植、养护、巡护等238万人次的绿色就业机会,为当地群众带来劳动增收3.5亿元。
蚂蚁集团公开声明:每年投入蚂蚁森林数亿的费用属于纯公益捐赠。蚂蚁森林种下的树一经捐出,就属于国家、属于社会,未来如果这些树木产生碳汇,将全部用于公益。蚂蚁森林从未参与过碳交易。 如果蚂蚁森林里记录的个人碳减排量未来能交易,产生的所有收益将属于用户个人,不属于蚂蚁森林。
2 逝川长叹
在以前,容易忽略支护宝的我来说,很多能量被好友抢来,然后一直想找一个机会把失去的能量大范围的抢回来,苦于代码能力有限,一直没落实,最近很想弄,不在逝川长叹,也让别人羡慕我。
干货主要有:
① 200 多本 Python 电子书(和经典的书籍)应该有
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且可靠的练手项目及源码)
④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
Python学习交流Q群101677771
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
print("###结束###")
d.app_stop("com.eg.android.AlipayGphone") # 退出支付宝