蚂蚁森林能量经常被偷?今天自己写了个自动收取能量的脚本。也是找个目的学习python,分享一下。

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

接下来我们看一下主要代码实现。
import os, time
from appium import webdriver
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
desired_caps = {
"platformName": "Android", # 系统
"platformVersion": "8.0.0", # 系统版本号
"deviceName": "m5s", # 设备名
"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 = 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)
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实现定时自动化收取蚂蚁森林能量的工作就完成了。
一如既往地送你们东西,干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
版权声明:本文为weixin_56537083原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。