用 Python 实现定时自动化收取蚂蚁森林能量

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)            # 点击指定坐标            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小二 后台回复 201116 获取。

来源:https://www.icode9.com/content-1-757201.html

(0)

相关推荐

  • 蚂蚁森林偷能量?分手吧!

    官注我的都是我老公!

  • 30 行代码实现蚂蚁森林自动偷能量

    给Python开发者加星标,提升Python技能) 来源:CSDN- xindoo 虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化.之前 ...

  • 蚂蚁森林福寿保护地有熊猫吗

    蚂蚁森林福寿保护地有熊猫,在支付宝蚂蚁森林中新上线福寿保护地之后,很多玩家想知道该保护地有没有国宝熊猫,福寿保护地有什么动物,下面就和小编一起来看看吧. 福寿保护地是7月2日新上线的保护地,我们可通过 ...

  • 用 Appium 自动收取蚂蚁森林能量

    来源:Python 技术「ID: pythonall」 支付宝集 5 福让小编打开了尘封已久的蚂蚁森林小程序,它刚出来那会儿小编也算是一个重度用户,看着一直被偷的能量总想以德服人.今天就用 Pytho ...

  • appium+python自动化26-模拟手势点击坐标(tap)

    前言: 有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点元素所在位置的坐标 一. tap用法 1.tap是模拟手指点击,一般页面上元素 的语法有两个参 ...

  • Python教你迅速成为蚂蚁森林排行榜第一名

    最近在家远程工作,结果作息更混乱了 ,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树"大业" .于是我决定用python写个自动偷能量的程序,每天早上定时偷取好友能量, ...

  • selenium+python自动化99--文件下载弹窗处理(PyKeyboard)

    前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击, ...

  • 支付宝蚂蚁森林各大种树所需能量对应值一览表

    支付宝蚂蚁森林种树是需要能量的,那么各种树多对应的能量值是多少才可以可以种树呢?支付宝蚂蚁森林各大种树所需能量对应值一览表 1.梭梭树所需能量:17900g 2.沙棘所需能量:18880g 3.沙柳所 ...

  • 如何在蚂蚁森林给好友浇水?

    最近支付宝的集能量种树的活动,俗称"蚂蚁森林"是一项很好的公益活动,不过还可以给好友浇水,下面小编教一下大家如何做,顺便透露一下,小编可是有很多能量的,大家快来偷能量吧2333 首 ...

  • 让iPhone好用十倍的捷径规则:短信轰炸机,藏头诗,骂人宝典,3D电子秤,蚂蚁森林能量助手

    大家好,我是阿轲 1   使用注意事项 iPhone将新增大批emoji表情 如果添加捷径时,遇到如下图片的提示,只需要参照以下方法进行设置即可 先打开 快捷指令 App,点击下方 快捷指令中心 ,在 ...

  • 30行Python代码实现蚂蚁森林自动偷能量(附源码)

    虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化.之前通过用代码模拟手机点按的方式,实现了 朋友圈自动点赞,但当时蚂蚁森林的操作流程要比朋 ...

  • 使用iOS快捷指令执行快捷操作之1——每天早起定时打开蚂蚁森林

    写在前面--iOS快捷指令是新版本iOS所具有的功能,我最近琢磨了一下它的功能图标是下面这个样子: iOS的快捷指令图标 如果你的iOS设备找不到这个功能,可能这个功能被你屏蔽了,或者iOS版本不够, ...

  • 蚂蚁森林是个赚钱项目

    蚂蚁森林是个赚钱项目?蚂蚁回应:纯公益项目. 5月13日,针对近期网络上的一些不实传言,蚂蚁森林负责人发表声明:蚂蚁森林是纯公益项目,不会为蚂蚁集团带来任何资金收益. 声明指出,仅2020一年间,蚂蚁 ...

  • 蚂蚁森林树洞怎么玩

    蚂蚁森林树洞在哪里?在520这一天,蚂蚁森林上线了千年山桃树装扮,使用该装扮可以听到520年的告白,截图发给您喜欢的人替你告白,那在哪里可以听到树洞告白呢,下面就和小编一起来看看吧! 1.打开支付宝, ...

  • Python运维自动化psutil 模块详解(超级详细)

    psutil 模块 参考官方文档:https://pypi.org/project/psutil/ 一.psutil简介 psutil是一个开源且跨平台(http://code.google.com/ ...

  • 蚂蚁森林只是做公益?错了,它其实是卖“碳”翁,你正在帮它赚钱

    想必有不少人每天都在某宝中的"蚂蚁森林"收集能量,偷朋友的能量,然后能量积攒到一定量之后,就可以选择在西北地区种树. 而"蚂蚁森林"会提供一个编号,这个编号就对 ...