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

共 1672字,需浏览 4分钟

 ·

2020-12-01 11:30

点击上方“Python高校”,关注
你的技术大学



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


最近在家远程工作,结果作息更混乱了e6690305aa54965833f543aa0d254225.webp,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树“大业”4d41d5e918ced88d1f2b0e643dfced85.webp于是我决定用python写个自动偷能量的程序,每天早上定时偷取好友能量,“称霸”蚂蚁森林。
本文仅为自动化测试技术研究,请勿滥用!
一、环境配置
首先需要安装配置好appium自动化测试工具。appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用,支持IOS、Android及FirefoxOS平台。大致流程:先在官网(appium.io)下载安装appium,然后安装Android SDK(我的方法是安装Android Studio,在它里面可以安装Android SDK),最后再安装JAVA,并配置JAVA_HOMECLASSPATH两个参数的环境变量,然后就可以使用appium啦!

二、使用介绍
安装appium有两个目的,一是使用python的appium模块需要先打开appium客户端,否则无法使用;二是便于我们查找某个app某个界面的元素,初次打开时如图所示:
57f9f367883127cbc6f12010b74258d8.webp点击Start Server v1.8.1 1020b2955c2d150d9f1add077b05df59.webp点击搜索图标
da62c2dc587d21e97d5d52299c245f6e.webp

配置好4个参数,第一个参数是手机操作系统,第二个参数是手机型号,在设置中可以找到,第三、四参数是app的两个特定值,点击start session就可以操控手机了。
e78d2b663f52db226d5f4e01ccece8c1.webp 
三、开发步骤
第一步:appium自动化测试app首先需要找到 ‘appPackage’ 和 ‘appActivity’ 两个参数
这里给大家介绍一种通用的找手机app这两个参数的方法:1. 先找到获取apk信息工具(android SDK的aapt工具)所在的位置;2. 下载支付宝app,记住存放位置;3. 打开命令行,输入以下信息3bfc6a5ed6b4aaf239c1ecdee3027c8c.webp打码部分是支付宝app所在的位置
在输出信息中可以找到‘appPackage’和‘appActivity’的值:f50f131196966352a45e0e18006a52f6.webpc81e9441ca1f3c616d49ad22936c961e.webp


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


正常情况下,appium操控打开app时,需要配置一下参数:9c88ada57acf7684cfbb5e815863070e.webp
但是这种配置方式会默认从头打开app,需要验证各种信息,而且需要重新登录,今天教大家如何避免重新登录,只需添加2个参数就ok:ecb5c70640b33d8b47f5e4d392cbe0d8.webp这样就会避免重新登录了。
下面就是模拟点击元素操作了,找app元素的方法如下:d1ed019a8684f85c9a0d02596baf3b87.webp
只需用客户端appium打开手机APP,然后将鼠标放在需要点击的部位,在右侧就能找到该部位的元素了。然后依次点击下图按钮:5f31ee3b8a5a1597e13eca82083d4a41.webp代码如下:ec9e7838d3b98617056bf1810108fdc1.webp 第三步:依次点击进入好友蚂蚁森林主页 f2ca94ffd70d3468119eca2e8fc4849a.webp
如图所示,我需要点击一次点击进入每个好友的主页,我采取的方式是只点击进入第一个框所在的坐标,然后模拟向上滑动1个框的高度,这样依次就可以点击到每个好友了,代码如下:c7c223ea35d3ca237c2d44d16ef30420.webp
需要注意的是,个人的主页是点不开的,但是不用做相应处理,因为点不进去就会在当前界面进行检测,判作无能量球,继续滑动到下一个。
第四步:检测有无可收取得能量 75ec54ce0947496ce1cad97c093c8a45.webp
经过分析元素,蚂蚁森林主页可以分为2类情况,第一种是没有能量球,第二种是有能量球,判断方法是比较上图中classname的数量,若大于5则代表有能量球,反之则没有,代码如下:eaf4e639cbb7b385a8a021f35664260b.webp
然后再进一步分析能力球能否能收取,很简单,只需要判断每个classname的text是否含有“能量”这2个字就ok了,因为不可收取的能量球不含这两个字,代码如下:f7ad028d170c585ef359032260b433b3.webp
为了防止有的能量没到时间,到最后一个好友时,需要返回顶端重新开始检测,我采取的方式是连续点击两次左上角的返回键,然后再重复上述的点击“查看更多好友”步骤,代码如下:d19affe16c1bfa2216e4046205bdc13b.webp第五步:效果展示

彩蛋:加我微信回复“蚂蚁”获取源码


有多少人打着收能量的旗号和暗恋的人互动?
可以扫码加我微信,大量Python,和AI相关资源,欢迎加我交流


- EOF -



END


● 万字长文,详尽PyCharm教程

 售价150万的“AI老婆”,上市仅1小时就被抢光!

● 继华为后,美国开始制裁中国13所高校;留美研究生拟遭驱逐;

● 5个方法,教你用Python赚外快




欢迎点击「在看」支持


浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报