1. 程式人生 > 實用技巧 >物件轉JSON正則查詢替換

物件轉JSON正則查詢替換

2. 環境

本文主要環境如下:

  • Win7

  • 小米5s

  • Python3.7

  • Appium1.5

  • 支付寶10.2.6.7010

如果對環境搭建不熟悉的話,可以看一下:Python + Appium 自動化操作微信入門我用 Python 找出了刪除我微信的所有人並將他們自動化刪除了

3. 實現

功能實現的基本思路為:

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

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

接下來我們看一下主要程式碼實現。

引數配置程式碼實現如下:

  1. desired_caps={
  2. "platformName":"Android",#系統
  3. "platformVersion":"8.0.0",#系統版本號
  4. "deviceName":"m5s",#裝置名
  5. "appPackage":"com.eg.android.AlipayGphone",#包名
  6. "appActivity":"AlipayLogin",#app啟動時主Activity
  7. 'noReset':True#保留session資訊,可以避免重新登入
  8. }

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

程式碼實現如下:

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

進入自己螞蟻森林之後,開始收取自己的能量,因為新版支付寶不能定位能量球元素了,所以我們需要在能量球可能出現的區域實現點選。收取能量的程式碼實現如下:

  1. #收取能量
  2. defcollect_energy(driver):
  3. print('開始收取能量')
  4. #獲取手機螢幕寬高
  5. width=int(driver.get_window_size()['width'])
  6. height=int(driver.get_window_size()['height'])
  7. #能量球可能出現的區域座標
  8. start_x=110
  9. end_x=940
  10. start_y=460
  11. end_y=880
  12. foriinrange(start_y,end_y,80):
  13. forjinrange(start_x,end_x,80):
  14. tap_x1=int((int(j)/width)*width)
  15. tap_y1=int((int(i)/height)*height)
  16. #點選指定座標
  17. driver.tap([(tap_x1,tap_y1),(tap_x1,tap_y1)],1000)
  18. print('能量收取完畢')

自己能量收取完畢之後,點選找能量進入好友螞蟻森林繼續收取能量,程式碼實現如下:

  1. #找能量
  2. defsearch_energy(driver):
  3. print('找能量,收取好友能量')
  4. time.sleep(3)
  5. #點選找能量
  6. driver.tap([(1000,1520),(1080,1580)],1000)
  7. time.sleep(3)
  8. #收取好友能量
  9. collect_energy(driver)
  10. time.sleep(3)
  11. #收取完畢繼續找能量
  12. search_energy(driver)

能量收取的功能實現了之後,我們使用定時任務實現定時收取即可,下面看一下定時任務的實現。

定時任務的實現我們使用apscheduler元件,使用之前需執行pip install apscheduler裝一下。

定時任務的程式碼實現如下:

  1. scheduler=BlockingScheduler()
  2. # collect_main:定時執行的方法
  3. scheduler.add_job(collect_main,'cron',hour=20,minute=23,second=20)
  4. try:
  5. scheduler.start()
  6. except(KeyboardInterrupt,SystemExit):
  7. pass

到此,我們利用 Python + Appium 實現定時自動化收取螞蟻森林能量的工作就完成了。

學習視訊資料:http://www.makeru.com.cn/live/1392_1164.html?s=143793