Python 自动化收取蚂蚁森林能量,不错过暗恋的她(附源码)

作者 | 锅g头
来源 | Crossin的编程教室

最近在家远程工作,结果作息更混乱了,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树“大业”。于是我决定用python写个自动偷能量的程序,每天早上定时偷取好友能量,“称霸”蚂蚁森林。

本文仅为自动化测试技术研究,请勿滥用!

一、环境配置

首先需要安装配置好appium自动化测试工具。appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用,支持IOS、Android及FirefoxOS平台。大致流程:先在官网(appium.io)下载安装appium,然后安装Android SDK(我的方法是安装Android Studio,在它里面可以安装Android SDK),最后再安装JAVA,并配置JAVA_HOMECLASSPATH两个参数的环境变量,然后就可以使用appium啦!

二、使用介绍

安装appium有两个目的,一是使用python的appium模块需要先打开appium客户端,否则无法使用;二是便于我们查找某个app某个界面的元素,初次打开时如图所示:

点击Start Server v1.8.1

 

点击搜索图标

配置好4个参数,第一个参数是手机操作系统,第二个参数是手机型号,在设置中可以找到,第三、四参数是app的两个特定值,点击start session就可以操控手机了。

 

三、开发步骤

第一步:appium自动化测试app首先需要找到 ‘appPackage’ 和 ‘appActivity’ 两个参数

这里给大家介绍一种通用的找手机app这两个参数的方法:

1. 先找到获取apk信息工具(android SDK的aapt工具)所在的位置;

2. 下载支付宝app,记住存放位置;

3. 打开命令行,输入以下信息

打码部分是支付宝app所在的位置

在输出信息中可以找到‘appPackage’和‘appActivity’的值:

第二步:打开支付宝,模拟点击,进入蚂蚁森林界面

正常情况下,appium操控打开app时,需要配置一下参数:

但是这种配置方式会默认从头打开app,需要验证各种信息,而且需要重新登录,今天教大家如何避免重新登录,只需添加2个参数就ok:

这样就会避免重新登录了。

下面就是模拟点击元素操作了,找app元素的方法如下:

只需用客户端appium打开手机APP,然后将鼠标放在需要点击的部位,在右侧就能找到该部位的元素了。然后依次点击下图按钮:

代码如下:

 

第三步:依次点击进入好友蚂蚁森林主页

 

如图所示,我需要点击一次点击进入每个好友的主页,我采取的方式是只点击进入第一个框所在的坐标,然后模拟向上滑动1个框的高度,这样依次就可以点击到每个好友了,代码如下:

需要注意的是,个人的主页是点不开的,但是不用做相应处理,因为点不进去就会在当前界面进行检测,判作无能量球,继续滑动到下一个。

第四步:检测有无可收取得能量

 

经过分析元素,蚂蚁森林主页可以分为2类情况,第一种是没有能量球,第二种是有能量球,判断方法是比较上图中classname的数量,若大于5则代表有能量球,反之则没有,代码如下:

然后再进一步分析能力球能否能收取,很简单,只需要判断每个classname的text是否含有“能量”这2个字就ok了,因为不可收取的能量球不含这两个字,代码如下:

为了防止有的能量没到时间,到最后一个好友时,需要返回顶端重新开始检测,我采取的方式是连续点击两次左上角的返回键,然后再重复上述的点击“查看更多好友”步骤,代码如下:

第五步:效果展示

彩蛋:后台回复“蚂蚁”获取源码

有多少人打着收能量的旗号和暗恋的人互动?

昨天推文:Python 3.8 发布,新特性全面解读

— — — END — — —

开源
我深夜用 Python 跑神经网络,只为关掉台灯!
阿里开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS

Facebook开源算法代码库PySlowFast,轻松复现前沿视频理解模型

Facebook 开源的 Python 预测工具,用起来太方便了

基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星腾讯正式开源图计算框架 Plato,十亿级节点图计算进入分钟级时代
工具最靠谱的Pycharm 汉化安装+ 破解详细教程!
Python数据分析、挖掘常用工具Python 最强 IDE 详细使用指南!一款 Python 自动抢票神器,收藏起来回家不愁!
Python新工具:用三行代码提取PDF表格数据
实践和数据分析Python 开发植物大战僵尸游戏用 Python 来找合适的妹子一键分析你上网行为,看你是在认真工作还是摸鱼Python给照片换底色,基于opencv模块
10个经典的小技巧:快速用 Python 进行数据分析
使用 Python 进行微信好友分析爬虫我给曾经暗恋的初中女同学,用Python实现了她飞机上刷抖音
为了能早点买房,我用 Python 预测房价走势!
被女朋友三番五次拉黑后,我用 Python 写了个“舔狗”必备神器
谁偷偷删了你的微信?别慌!Python 揪出来为了给女友挑合适的内衣,我用  Python 爬了天猫内衣店的数据Python爬虫数据提取

这里除了干货一无所有

人生苦短,我选在看

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值