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