用 Python 实现定时自动化收取蚂蚁森林能量
1、概述
提起蚂蚁森林我们都有忘记收取能量的时候,最后都被自己的好友收取,是不是很心痛
本文我们来看一下如何使用 Python + Appium 实现定时自动化收取蚂蚁森林能量。
2. 环境
本文主要环境如下:
Win10
夜神模拟器
Python3.7
Appium1.5
支付宝10.2.6.7010
3. 实现
功能实现的基本思路为:
打开支付宝进入蚂蚁森林,收取自己的能量
收取完自己能量后,点击找能量进入好友蚂蚁森林,收取好友能量,以此类推
参数配置代码实现如下:
desired_caps = {"platformName": "Android", # 系统"platformVersion": "8.0.0", # 系统版本号"deviceName": "127.0.0.1:62001", # 设备名"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 = 110end_x = 940start_y = 460end_y = 880for 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
完整代码如下:
import os, time
from appium import webdriver
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingSchedulerdesired_caps = {"platformName": "Android", # 系统"platformVersion": "8.0.0", # 系统版本号"deviceName": "127.0.0.1:62001", # 设备名"appPackage": "com.eg.android.AlipayGphone", # 包名"appActivity": "AlipayLogin", # app 启动时主 Activity'noReset': True # 保留 session 信息,可以避免重新登录
}# 收取能量
def collect_energy(driver):print('开始收取能量')# 获取手机屏幕宽高width = int(driver.get_window_size()['width'])height = int(driver.get_window_size()['height'])# 能量球可能出现的区域坐标start_x = 110end_x = 940start_y = 460end_y = 880for 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)def collect_main():print('开始执行定时任务')driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)time.sleep(15)# 进入自己蚂蚁森林driver.find_elements_by_id('com.alipay.android.phone.openplatform:id/home_app_view')[10].click()time.sleep(5)collect_energy(driver)search_energy(driver)if __name__ == '__main__':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 实现定时自动化收取蚂蚁森林能量的工作就完成了。
爬虫群:794630151
用 Python 实现定时自动化收取蚂蚁森林能量相关推荐
- collect的功能是什么?其底层如何实现的?_用Python实现定时自动化收取蚂蚁森林能量,再也不怕被偷了
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- python模拟蚂蚁森林能量产生过程代码_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- 用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- python自动收取蚂蚁森林能量_用 Python 实现定时自动化收取蚂蚁森林能量
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- python支付宝自动收能量_守护支付宝的财产,使用Python实现定时自动化收取蚂蚁森林能量...
Python 兄弟姐妹们谁年轻是没有玩过农场,牧场游戏,现在有了蚂蚁森林,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁 ...
- python支付宝蚂蚁森林_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
2. 环境 本文主要环境如下: Win7 小米5s Python3.7 Appium1.5 支付宝10.2.6.7010 3. 实现 功能实现的基本思路为: 打开支付宝进入蚂蚁森林,收取自己的能量 收 ...
- python支付宝每天自动收能量_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- 用 Python 实现 定时自动化收取蚂蚁森林能量,再也不用担心忘记收取能量了
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 相关文件 小伙伴们可以关注小编的Python源码.问题解答&学习交流群:733089476 有很多的资源 ...
- 苹果 python蚂蚁森林自动收能量_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
最新文章
- android 问题汇总系列之四
- mac使用被动ftp模式(pasv)_网络安全工程师与白帽子黑客教你:Kali Linux之使用Metasploit进行FTP服务扫描实战...
- AMD Developer Center有关ATI Stream的内容
- minitab怎么算西格玛水平_西格玛和西格玛水平
- JSR 303从I18N属性文件加载消息
- 光纤收发器通常具有哪些特点?
- Spring @Value转义冒号(:)的默认值
- 2018年入门python,推荐这样几本好书!
- 在zephyr上使用mipi-sys-t
- 2020年最新人事管理软件排名(建议收藏)!
- Navicat Premium 注册机 激活报错
- 浏览器插件Octotree的下载安装
- multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
- java清空表格怎么实现_Java 创建、删除、操作PPT中的表格
- MMKV 组件-快速丶读丶查丶写的sp
- 对视图有时为什么使用select top 100 percent 而不使用 select 呢
- Proxmox集群网络配置
- 第一个Flutter demo——实现无限循环列表
- 麦卡锡问答:什么是人工智能?
- 股票pb接口是什么?