更新: 2020年08月12日
@author: 抖音极速版邀请码:8278753618 快手极速版邀请码:459483110
"""
import uiautomator2 as u2
import time
import random
class Phone:
'''定义一个类'''
def __init__(self):
'''初始化运行参数'''
try:
self.next_time=60*eval(input('请输入距离下一次任务时间:[0分钟]')) # 距离下一次任务时间(分钟)
except :
self.next_time=60*0
try:
self.ad_time=eval(input('请输入广告时长:[45秒]')) # 广告时长(秒)
except:
self.ad_time=45
try:
self.task_frequency=60*eval(input('请输入金币任务频率:[20分钟]')) # 任务频率(分钟)
except:
self.task_frequency=60*20
self.app_lalel=input('请输入是否刷快手极速版【Y/R/N】:[N_抖音极速版]')
while self.app_lalel not in ['Y','y','N','n','','R','r']:
self.app_lalel=input('请重新输入是否刷快手极速版【Y/N】:')
if self.app_lalel=='Y' or self.app_lalel=='y':
self.app='快手极速版'
elif self.app_lalel=='R' or self.app_lalel=='r':
self.app='随机抖音或快手极速版'
else :
self.app='抖音极速版'
# 输入选择或默认参数信息
print('{now_time} 您的选择为:距离下一次任务[{next_time}]分钟,金币任务频率[{task_frequency}]分钟,广告时长[{ad_time}]秒,APP[{app}]'.format(
now_time=time.strftime('%Y-%m-%d %H:%M:%S'),
next_time=round(self.next_time/60,1),
task_frequency=round(self.task_frequency/60,1),
ad_time=round(self.ad_time,1),
app=self.app))
self.initial_time=time.time() # 计时器,用于判断本次循环时间的多少
self.ip_address='192.168.xxx.xxx' # 手机连接IP地址,可自行修改
self.average_sleep=4 # 滑动手机间隔等待平均时间(秒)
self.s_time=0.08 # 等待时屏幕刷新频率(秒)
self.i=0 # 初始化循环次数
def run(self):
'''定义运行函数方法'''
# 一、启动抖音极速版
self.start_douyin()
while True:
# 执行任务
self.run_task()
def run_task(self):
'''任务运用流程'''
# 判断下一次签到时间
if self.next_time-(int(time.time())-self.initial_time)<=0:
# 重启抖音极速版,执行相关任务
print('{} 任务即将开始,抖音极速版将重启!'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
self.restart_douyin() # 调用重启抖音方法
self.open_task() # 调用打开任务界面并检查是否有签到任务
self.Time_limited_task() #调用执行限时任务和限时任务广告浏览
self.Treasure_box_task() # 调用宝箱任务和宝箱广告浏览
self.close_task() #关闭任务界面重回抖音极速版或快手极速版视频页面
# 重置任务初始化参数
self.initial_time = time.time()#初始化记时时间
self.next_time=self.task_frequency-self.ad_time# 初始化距离下一次任务时间为任务频率
print('{} 已重置距离下一次任务还剩{}分钟!'.format(time.strftime('%Y-%m-%d %H:%M:%S'),self.next_time/60))
self.i=0 #重新计数
else:
# 滑动手机屏幕
try:
self.i+=1
print('{} 第{}次滑动手机屏幕!'.format(time.strftime('%Y-%m-%d %H:%M:%S'),self.i))
self.slide_screen() # 调用滑动屏幕函数方法
self.suspend_time() # 调用等待暂停方法
except BaseException as e:
print('{} 滑动屏幕失败\n错误信息{}'.format(time.strftime('%Y-%m-%d %H:%M:%S'),e))
finally:
# 刷新下次距离时间
#下一次时间等于 当前下一次时间减去流逝的时间
print('{} 距离下一次金币任务还剩{:.2f}分钟'.format(time.strftime('%Y-%m-%d %H:%M:%S'),
(self.next_time-(int(time.time())-self.initial_time))/60))
def start_douyin(self):
'''启动抖音'''
d = u2.connect(self.ip_address)
try:
d.app_stop("com.kuaishou.nebula")#停止快手极速版
# d.app_stop("com.ss.android.ugc.aweme.lite")#停止抖音极速版
#启动抖音极速版
d.app_start("com.ss.android.ugc.aweme.lite")
print('{} 正在启动抖音极速版!'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
self.sleep_time(10)# 等待抖音启动,秒,根据手机流畅度可修改启动需要等待时长
except BaseException as e:
print('{} 抖音极速版启动失败!\n错误信息:{}'.format(time.strftime('%Y-%m-%d %H:%M:%S'),e))
finally:
pass
def restart_douyin(self):
'''重启抖音极速版'''
d = u2.connect(self.ip_address)
try:
d.app_stop("com.kuaishou.nebula")#停止快手极速版
d.app_stop("com.ss.android.ugc.aweme.lite")#停止抖音极速版
d.app_start("com.ss.android.ugc.aweme.lite")
print('{} 正在重启抖音极速版……'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
self.sleep_time(10) # 等待抖音启动,秒,根据手机流畅度可修改启动需要等待时长
except BaseException as e:
print('{} 抖音极速版重启失败!\错误信息:{}'.format(time.strftime('%Y-%m-%d %H:%M:%S'),e))
finally:
pass
还没完全弄好,需要怎么继续?