collect的功能是什么?其底层如何实现的?_用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過程中會遇到各種煩惱問題,沒有人解答容易放棄。小編是一名python開發工程師,這里有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,并在后臺私信小編:“01”即可領取。
總結
以上是生活随笔為你收集整理的collect的功能是什么?其底层如何实现的?_用Python实现定时自动化收取蚂蚁森林能量,再也不怕被偷了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火车站售票系统java_乌苏啤酒的家乡—
- 下一篇: 张宇概率论与数理统计pdf_【书籍篇】张