python+airtest+poco實現抖音極速版刷金幣demo


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM