用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
2020-11-16 08:00
621 查看
1. 概述
提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢?
如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么。
但如果你是蚂蚁森林重度用户,遇到能量被偷 ...
本文我们来看一下如何使用 Python + Appium 实现定时自动化收取蚂蚁森林能量。
2. 环境
本文主要环境如下:
Win7
小米5s
Python3.7
Appium1.5
支付宝10.2.6.7010
如果对环境搭建不熟悉的话,可以看一下:Python + Appium 自动化操作微信入门和我用 Python 找出了删除我微信的所有人并将他们自动化删除了。
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) # 点击指定坐标 dri 1d2a6 ver.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小二 后台回复 201116 获取。
< END >
原创不易,求分享、在看、赞
相关文章推荐
- Python自动化收取蚂蚁森林能量,不错过暗恋的她!
- 基于AutoJs实现淘宝领喵币和蚂蚁森林能量自动化
- Python&Auto.js:实现蚂蚁森林自动收能量(懒人的高效生活)
- Android"挂逼"修炼之行---支付宝蚂蚁森林能量自动收取插件开发原理解析
- 通过程序自动收取蚂蚁森林能量 - 知乎
- python实现12306抢票,春节不用担心买不到票回家了
- Android "挂逼" 修炼之行---支付宝蚂蚁森林能量自动收取插件开发原理解析
- Autojs--2019最新版蚂蚁森林能量自动收取&QQ自动点赞
- 通过程序自动收取蚂蚁森林能量 - 知乎
- autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
- Auto.js自动收取自己和好友蚂蚁森林能量脚本
- 定时自动化爬取python相关岗位数量并送发到邮箱
- python实现自动化报表功能(Oracle/plsql/Excel/多线程)
- 用Python控制Excel实现自动化办公,手把手教你
- 浅析python实现scrapy定时执行爬虫
- python_使用sched实现定时功能
- python (18)在linux中如何实现定时发送邮件到指定邮箱,监测任务
- Python3简易接口自动化测试框架设计与实现(中)
- Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法
- python实现每天定时任务(2)