1. 概述

提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢?

如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么。

但如果你是蚂蚁森林重度用户,遇到能量被偷 …

本文我们来看一下如何使用 Python + Appium 实现定时自动化收取蚂蚁森林能量。

2. 环境

本文主要环境如下:

Win7 小米5s Python3.7 Appium1.5 支付宝10.2.6.7010

3. 实现

功能实现的基本思路为:

打开支付宝进入蚂蚁森林,收取自己的能量 收取完自己能量后,点击找能量进入好友蚂蚁森林,收取好友能量,以此类推

接下来我们看一下主要代码实现。

参数配置代码实现如下:

desired_caps = {

"platformName": "Android", # 系统

"platformVersion": "8.0.0", # 系统版本号

"deviceName": "m5s", # 设备名

"appPackage": "com.eg.android.AlipayGphone", # 包名

"appActivity": "AlipayLogin", # app 启动时主 Activity

'noReset': True # 保留 session 信息,可以避免重新登录

}

通常大家都会将蚂蚁森林放在支付宝首页,此时我们打开支付宝后直接点击蚂蚁森林选项即可进入。

代码实现如下:

driver.find_elements_by_id('com.alipay.android.phone.openplatform:id/home_app_view')[10].click()

进入自己蚂蚁森林之后,开始收取自己的能量,因为新版支付宝不能定位能量球元素了,所以我们需要在能量球可能出现的区域实现点击。收取能量的代码实现如下:

# 收取能量

def collect_energy(driver):

print('开始收取能量')

# 获取手机屏幕宽高

width = int(driver.get_window_size()['width'])

height = int(driver.get_window_size()['height'])

# 能量球可能出现的区域坐标

start_x = 110

end_x = 940

start_y = 460

end_y = 880

for i in range(start_y, end_y, 80):

for j in range(start_x, end_x, 80):

tap_x1 = int((int(j) / width) * width)

tap_y1 = int((int(i) / height) * height)

# 点击指定坐标

driver.tap([(tap_x1, tap_y1), (tap_x1, tap_y1)], 1000)

print('能量收取完毕')

自己能量收取完毕之后,点击找能量进入好友蚂蚁森林继续收取能量,代码实现如下:

# 找能量

def search_energy(driver):

print('找能量,收取好友能量')

time.sleep(3)

# 点击找能量

driver.tap([(1000, 1520), (1080, 1580)], 1000)

time.sleep(3)

# 收取好友能量

collect_energy(driver)

time.sleep(3)

# 收取完毕继续找能量

search_energy(driver)

能量收取的功能实现了之后,我们使用定时任务实现定时收取即可,下面看一下定时任务的实现。

定时任务的实现我们使用 apscheduler 组件,使用之前需执行 pip install apscheduler 装一下。

定时任务的代码实现如下:

scheduler = BlockingScheduler()

# collect_main:定时执行的方法

scheduler.add_job(collect_main, 'cron', hour=20, minute=23, second=20)

try:

scheduler.start()

except (KeyboardInterrupt, SystemExit):

pass

到此,我们利用 Python + Appium 实现定时自动化收取蚂蚁森林能量的工作就完成了。

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试宝典

简历模板

若有侵权,请联系删除

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。