本文仅为自动化工具appium的技术研究,请勿用于任何非正当用途

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

环境配置

首先需要安装配置好appium自动化测试工具。appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用,支持IOS、Android及FirefoxOS平台。大致流程:先在官网(http://appium.io)下载安装appium,然后安装Android SDK(我的方法是安装Android Studio,在它里面可以安装Android SDK),最后再安装JAVA,并配置JAVA_HOME和CLASSPATH两个参数的环境变量,然后就可以使用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了,因为不可收取的能量球不含这两个字,代码如下:

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

第五步:效果展示自动收取蚂蚁森林能量演示https://www.zhihu.com/video/1212016914748280832

好了,这下再也不用担心我的小树苗了!

------

作者:锅g头

一起学,走得远!

Crossin的编程教室

python自动收取蚂蚁森林能量_通过测试工具自动收取蚂蚁森林能量相关推荐

  1. 苹果 python蚂蚁森林自动收能量_通过测试工具自动收取蚂蚁森林能量

    本文仅为自动化工具appium的技术研究,请勿用于任何非正当用途 最近在家远程工作,结果作息更混乱了,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树"大业" ‍♂️.于 ...

  2. gbdt 算法比随机森林容易_机器学习军火库 | 浪漫算法 随机森林

    一.基本原理 顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的.在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行 ...

  3. java 蚂蚁怕杆_百度面试题–5只蚂蚁走木棍问题的非递归解法(Java调试通过) | 学步园...

    致歉:之前贴的代码有bug. 题目描述: 有一根27厘米的细木杆,在第3厘米.7厘米.11厘米.17厘米.23厘米这五个位置上各有一只蚂蚁.木杆很细,不能同时通过一只蚂蚁.开始时,蚂蚁的头朝左还是朝右 ...

  4. python 两个[]_Python中的两个测试工具

    ♚ 作者:jclian,喜欢算法,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量 ...

  5. 网站测压机器人_压力测试工具(bots)

    压力测试工具(bots) bots机器人介绍: bots就是机器人,可以模拟客户端的连接.通讯.操作等,是一种对服务端进行模拟测试的轻量级客户端程序,并且bots没有渲染等部分.引擎提供了Python ...

  6. mysql fio测试_压力测试工具之FIO

    针对磁盘的压力性能测试工具有很多,简单的测试可以通过dd命令实现,而比较专业和强大的磁盘IO测试工具,当然首推FIO了.这里针对FIO工具使用做个简单的介绍.介绍前,首先说明下两个概念,顺序读写和随机 ...

  7. python实现登录支付宝收能量_玩了200天的“蚂蚁森林”,发现果然是支付宝最懂人性,马云厉害...

    "每天被叫醒的不是闹钟,而是蚂蚁森林." 2016年8月,支付宝正式上线了其公益项目蚂蚁森林,其时,马云强推3年的社交APP"来往"已经在与微信的竞争中败下阵来 ...

  8. python 倒计时运行程序怎么关闭_如何让电脑自动倒计时关机?我Python拭魅战告诉你...

    在日常使用电脑的过程中,很多小伙伴都有让电脑按时自动关机的需求.通常而言,年夜家一般城市有几种选择. 假如哪一天,你女神问你,有没有什么按时关机的好体例,你怎么告诉她? 一.熟悉计算机操作的话,可以使 ...

  9. python自动客服排班_使用或工具的护士排班问题,在某些日子增加不同的轮班时间...

    我正在从here修改代码,我希望能够为某一天添加不同长度的轮班(例如,我希望星期五/第4天只有2个轮班).我的代码总是以错误代码结尾.我相信这是由于我设定的一些限制的内部问题.在 我在类似的程序上看到 ...

最新文章

  1. 高性能服务器架构(一):缓冲策略
  2. day18-事务与连接池 3.jdbc中事务操作介绍
  3. 宗宁:全面解析微博财报数据爆发下的平台机会
  4. 互联网广告系统综述四定向
  5. python matplotlib画图产生的Type 3 fonts字体没有嵌入问题
  6. Entity Framework入门教程:创建实体数据模型
  7. extjs tree下拉列表_使用ztree来代替Extjs的下拉树
  8. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc
  9. python tfidf特征变换_使用sklearn提取文本的tfidf特征
  10. form表单重复提交
  11. 树莓派安装mysql并设置远程访问
  12. 算法之寻找完数(C语言)
  13. 中国中央空调行业竞争力策略及未来发展潜力预测报告2021年版
  14. ANC降噪蓝牙耳机软件工程的数学原理
  15. 三、漏洞编号为CVE-2017-7494的复现(永恒之蓝)(Linux)(Ubuntu16.04.4)
  16. 【深入理解RabbitMQ原理】RabbitMQ 相关问题总结--RabbitMQ 如何确保消息发送和消费?
  17. 【个税】2020年个人所得税计算规则
  18. 摄影测量中的什么是光流场_摄影中的“停止”是什么?
  19. 【物联网中间件平台-05】YFIOs策略开发指南
  20. 如何将EasyCVR平台RTSP接入的设备数据迁移到EasyNVR中?

热门文章

  1. 基于阿里云容器镜像服务加速K8S镜像下载
  2. 组播路由协议——PIM DM工作机制
  3. 虚拟直播与光学动作捕捉技术
  4. 中国海洋大学c语言题库,2014级中国海洋大学C语言上机题库与答案.docx
  5. linux下用chmod修改文件权限详解(文件权限与特殊权限)
  6. 需求方法论:需求的理解/来源/挖掘/记录
  7. jackson将JSON字符串转换成复杂的数据类型
  8. TL431并联电容器
  9. 怀旧不同服务器位面系统,魔兽怀旧服:服务器共享世界BUFF,不用跨位面拿BUFF了...
  10. 操作系统银行家算法python简单模拟