pip install airtest
pip install poco
手機插上,實現自動打開抖音,刷視頻,金幣滿了關掉抖音
1 from datetime import datetime, date 2 from airtest.core.api import * 3 from poco.drivers.android.uiautomation import AndroidUiautomationPoco 4 5 poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) 6 7 dev = connect_device("Android://") 8 d = device() 9 list_app = d.list_app() 10 douyin_page = "com.ss.android.ugc.aweme.lite" # 抖音app包名 11 stop_app(douyin_page) 12 if douyin_page in list_app: 13 start_app(douyin_page) 14 sleep(10) 15 if poco(text="暫時不要").exists(): 16 poco(text="暫時不要").click() 17 if poco(resourceId="com.ss.android.ugc.aweme.lite:id/e7t").exists(): # 點擊去除青少年模式彈窗提醒 18 poco(resourceId="com.ss.android.ugc.aweme.lite:id/e7t").click() 19 if poco(resourceId="com.ss.android.ugc.aweme.lite:id/duj").exists(): # 點擊去賺錢 20 poco(resourceId="com.ss.android.ugc.aweme.lite:id/bai").click() 21 if poco(text="首頁").exists(): 22 poco(text="首頁").click() 23 start_time = datetime.now() 24 initial_gold_coin = 0 25 print("初始金幣數量為{}".format(initial_gold_coin)) 26 a = 0 27 while True: 28 sleep(5) 29 if poco(text="取消").exists(): 30 poco(text="取消").click() 31 width, height = device().get_current_resolution() # 校准滑動的起點和終點 32 start_pt = (width * 0.8, height * 0.7) # 從頁面中間寬度為50%的點開始滑 33 end_pt = (width * 0.8, height * 0.1) # 滑動到頁面寬度為50%的點 34 swipe(start_pt, end_pt) 35 a += 1 36 # print("持續中,已刷{}個視頻".format(a)) 37 end_time = datetime.now() 38 elapsed_time = (end_time - start_time).seconds 39 elapsed_time = int(elapsed_time / 60) 40 if elapsed_time==5: 41 print("持續時間已有5分鍾,已刷{}個視頻".format(a)) 42 if elapsed_time==10: 43 print("持續時間已有10分鍾,已刷{}個視頻".format(a)) 44 if elapsed_time==15: 45 print("持續時間已有15分鍾,已刷{}個視頻".format(a)) 46 duration = 20 # 隔duration時間去查看一次金幣是否滿 47 if elapsed_time == duration: 48 print("當前時間為:{}".format(end_time)) 49 print("持續時間已有{}分鍾".format(elapsed_time)) 50 print("{}分鍾前金幣收益為{}".format(duration, initial_gold_coin)) 51 poco(resourceId='com.ss.android.ugc.aweme.lite:id/bx0').click() 52 sleep(2) 53 if poco(text="明日可領1元").exists() or poco(text="點擊領取").exists(): 54 poco(text=("新人福利7天必得8元")).sibling()[5].sibling()[3].click() # 點擊x號 55 sleep(1) 56 if poco(text="去賺錢").exists(): 57 poco(text="去賺錢").sibling()[6].click() 58 if poco(text="開寶箱得金幣", name="android.view.View").exists(): 59 poco(text="開寶箱得金幣").click() 60 sleep(1) 61 poco(text="恭喜你獲得").parent().sibling()[4].click() 62 poco(text="金幣收益").wait_for_appearance() 63 poco(text="金幣收益").sibling().child()[2].click() 64 poco(text="金幣收益").wait_for_appearance() 65 gold_coin_income = int(poco(text="金幣收益").sibling()[5].get_text()) 66 print("目前的金幣數量為{}".format( gold_coin_income)) 67 if gold_coin_income == initial_gold_coin: 68 print("收益已滿,關閉app,執行下一個app!") 69 stop_app(douyin_page) 70 break 71 else: 72 print("收益未滿,返回繼續刷視頻!") 73 sleep(2) 74 poco(resourceId='com.ss.android.ugc.aweme.lite:id/qf').click() 75 poco(resourceId='com.ss.android.ugc.aweme.lite:id/a75').wait_for_appearance() 76 poco(resourceId='com.ss.android.ugc.aweme.lite:id/a75').click() 77 initial_gold_coin = gold_coin_income 78 start_time = datetime.now() 79 a =0
