利用Python抢回在蚂蚁森林逝去的能量(实现代码)
来源:脚本之家    时间:2022-03-03 20:45:44
目录
1蚂蚁森林简介2逝川长叹3结果展示4Python——uiautomator2库安装5Python代码实现

1 蚂蚁森林简介

蚂蚁森林是一项旨在带动公众低碳减排的公益项目,每个人的低碳行为在蚂蚁森林里可计为"绿色能量"。"绿色能量"积累到一定程度,就可以用手机申请在生态亟需修复的地区种下一棵真树,或者在生物多样性亟需保护的地区“认领”保护权益。

蚂蚁森林在各地的生态修复项目,是由蚂蚁集团向公益机构捐赠资金,由公益机构组织种植养护等具体工作,并由当地林业部门进行业务监管,所有项目都有对应的捐赠协议、验收报告。 [23]

2019年9月19日,中国“蚂蚁森林”项目获 联合国 “ 地球卫士奖 ”

据生态环境部2021年“全国低碳日”主场活动公布的数据:蚂蚁森林从2016年上线5年来,已累计带动超过6.13亿人参与低碳生活,产生“绿色能量”2000多万吨。

为了激励社会公众的低碳生活,5年来蚂蚁森林参与到全国11个省份的生态修复工作,累计种下3.26亿棵树,其中在甘肃、内蒙古均超过1亿棵。 同时,蚂蚁森林还在全国10个省份设立了18个公益保护地,守护野生动植物1500多种。通过在各地的生态环保项目,蚂蚁森林累计创造了种植、养护、巡护等238万人次的绿色就业机会,为当地群众带来劳动增收3.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
print("###结束###")
d.app_stop("com.eg.android.AlipayGphone") # 退出支付宝

到此这篇关于利用Python抢回在蚂蚁森林逝去的能量的文章就介绍到这了,更多相关Python蚂蚁森林能量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

关键词: 希望大家 社会公众 业务监管

X 关闭

X 关闭