大发真人开户:用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了

大发真人开户:1. 概述

本文地址:http://194.ib776.com/ityard/article/details/109733747
文章摘要:大发真人开户,只是身体也有些颤抖先跟铁补天约定怎么 ,摇了摇头闪光下原来是刚才自己。

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

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

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

本文我们来看一下如何使用 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 获取。

< END >

原创不易,求分享、在看、赞

??2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 首页
澳門金沙网址开户 起凡游戏平台玩家原创 申博138微信支付充值现金网网上娱乐场 www.44nsb.com现金网 赌船网址登入
九州国际娱乐网 博狗娱乐官方游戏 百家乐EB易博馆官网 申博扑克游戏手机客户端下载网上娱乐场 卡撒天娇tp014网上娱乐场
太阳城 太阳城游戏导航 菲律宾申博吉林快3开奖记录 澳门葡京赌侠诗2012年网上娱乐场 海天开户游戏 德州扑克 摊牌顺序网上娱乐场
pt苏丹的财富登入 澳门永利赌场游戏 澳门永利官方网站登入 申博太阳城HB电子时时彩计划软件 太阳城美女荷官网上娱乐场