溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量

發(fā)布時間:2021-11-25 09:12:20 來源:億速云 閱讀:188 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量”吧!

1. 概述

提到螞蟻森林,大家應(yīng)該都知道,你是否有因忘記收取能量而被好友收取的經(jīng)歷呢?

怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量

如果你不是螞蟻森林重度用戶,被別人收取了能量可能對你來說沒什么。

怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量

但如果你是螞蟻森林重度用戶,遇到能量被偷 ...

2. 環(huán)境

本文主要環(huán)境如下:

  • Win7
  • 小米5s
  • Python3.7
  • Appium1.5
  • 支付寶10.2.6.7010

3. 實現(xiàn)

功能實現(xiàn)的基本思路為:

  • 打開支付寶進入螞蟻森林,收取自己的能量

  • 收取完自己能量后,點擊找能量進入好友螞蟻森林,收取好友能量,以此類推

怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量

接下來我們看一下主要代碼實現(xiàn)。

參數(shù)配置代碼實現(xiàn)如下:

desired_caps = {
    "platformName": "Android", # 系統(tǒng)
    "platformVersion": "8.0.0", # 系統(tǒng)版本號
    "deviceName": "m5s", # 設(shè)備名
    "appPackage": "com.eg.android.AlipayGphone", # 包名
    "appActivity": "AlipayLogin", # app 啟動時主 Activity
    'noReset': True # 保留 session 信息,可以避免重新登錄
}
 

通常大家都會將螞蟻森林放在支付寶首頁,此時我們打開支付寶后直接點擊螞蟻森林選項即可進入。

怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量

代碼實現(xiàn)如下:

driver.find_elements_by_id('com.alipay.android.phone.openplatform:id/home_app_view')[10].click() 

進入自己螞蟻森林之后,開始收取自己的能量,因為新版支付寶不能定位能量球元素了,所以我們需要在能量球可能出現(xiàn)的區(qū)域?qū)崿F(xiàn)點擊。收取能量的代碼實現(xiàn)如下:

# 收取能量
def collect_energy(driver):
    print('開始收取能量')
    # 獲取手機屏幕寬高
    width = int(driver.get_window_size()['width'])
    height = int(driver.get_window_size()['height'])
    # 能量球可能出現(xiàn)的區(qū)域坐標(biāo)
    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)
            # 點擊指定坐標(biāo)
            driver.tap([(tap_x1, tap_y1), (tap_x1, tap_y1)], 1000)
    print('能量收取完畢')
 

自己能量收取完畢之后,點擊找能量進入好友螞蟻森林繼續(xù)收取能量,代碼實現(xiàn)如下:

# 找能量
def search_energy(driver):
    print('找能量,收取好友能量')
    time.sleep(3)
    # 點擊找能量
    driver.tap([(1000, 1520), (1080, 1580)], 1000)
    time.sleep(3)
    # 收取好友能量
    collect_energy(driver)
    time.sleep(3)
    # 收取完畢繼續(xù)找能量
    search_energy(driver)
 

能量收取的功能實現(xiàn)了之后,我們使用定時任務(wù)實現(xiàn)定時收取即可,下面看一下定時任務(wù)的實現(xiàn)。

定時任務(wù)的實現(xiàn)我們使用 apscheduler 組件,使用之前需執(zhí)行 pip install apscheduler 裝一下。

定時任務(wù)的代碼實現(xiàn)如下:

scheduler = BlockingScheduler()
# collect_main:定時執(zhí)行的方法
scheduler.add_job(collect_main, 'cron', hour=20, minute=23, second=20)
try:
    scheduler.start()
except (KeyboardInterrupt, SystemExit):
    pass

感謝各位的閱讀,以上就是“怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么用Python實現(xiàn)定時自動化收取螞蟻森林能量這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI