pip install uiautomator2
# -*- coding: utf-8 -*-
"""
Created on 2020年5月23日更新
@author: 极速版邀请码:872481738
"""
import uiautomator2 as u2
import time
import random
class 手机:
ip='192.168.3.85'
正态分布平均时间=4 #屏幕滑动时间间隔、秒
任务频率=20#分钟
def __init__(self):
# 记时
try:
距离任务剩余时长=eval(input('距离下一次签到还有多少分钟?\n'))#多少分钟之后可以进行来赚钱宝箱与限时任务
if 距离任务剩余时长>self.任务频率:
距离任务剩余时长=self.任务频率
except:
距离任务剩余时长=0
self.任务累计时间=self.任务频率*60-60*距离任务剩余时长#已经浏览的视频时长(抖音+快手),或减去剩余时长
self.初始任务时间 = time.time()-self.任务累计时间#初始化整点时间
self.初始累计时间 = time.time()#初始化切换时间
print('程序时间初始化完成!已设置距离下一次整点任务还有{}分钟'.format(距离任务剩余时长))
def 启动抖音极速版(self):
d = u2.connect(self.ip)
#启动抖音极速版
d.app_start("com.ss.android.ugc.aweme.lite")
#退出快手极速版
#d.app_stop("com.kuaishou.nebula") #停止
def 滑动抖音极速版(self):
d = u2.connect(self.ip)
d.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
# d.swipe(0.985, 0.8, 0.985, 0.12) # 侧面滑动屏幕适用于抖音
print('抖音极速版页面滑动成功!{}{}'.format(' '*3,time.strftime('%Y-%m-%d %H:%M:%S')))
def 打开任务界面(self):
d = u2.connect(self.ip)
try:
# d(resourceId="com.ss.android.ugc.aweme.lite:id/axz").click()#来赚钱
d.click(0.500, 0.966)#点击底部来赚钱坐标
#点击完成之后等待6秒,完成界面切换
print('\r已进入抖音极速版任务页面!{}{}'.format(' '*3,time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(6)
except :
d.click(0.500, 0.966)#点击底部来赚钱
print('\r已进入抖音极速版任务页面!{}{}'.format(' '*3,time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(6)
# 已进入任务界面
# 判断是否当天第一次进入的签到弹窗
try:
# 签到后的
time.sleep(6)
d(description="看广告视频再赚").click()
# d.click(0.50, 0.626)#看广告视频再赚
print('成功进入签到广告赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
print('请等待45秒!')
time.sleep(45)
d(text="关闭广告").click()
print('已关闭签到广告!')
d.xpath('//android.app.Dialog/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[6]').click()
except :
pass
d.swipe(0.5, 0.6, 0.5, 0.8) # 向下滑动屏幕
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 向下滑动屏幕
time.sleep(3)
def 限时任务赚金币(self):
d = u2.connect(self.ip)
# 如果未进入任务界面,则可能产生任务点击异常
try:
time.sleep(6)
d(description="限时任务赚金币").click()
# 点击任务后等待进入广告浏览
print('成功进入限时任务赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
print('等待45秒后关闭广告浏览……')
time.sleep(45)# 广告时长与进入广告等待时长之后
except:
print('无法进入限时任务。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 关闭广告,如果没有进入广告则会产生广告关闭异常
try:
d(text="关闭广告").click()
print('限时任务广告浏览完成。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('限时任务广告关闭异常。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
#等待3秒页面响应时间
time.sleep(6)
def 宝箱任务赚金币(self):
d = u2.connect(self.ip)
# 点击开宝箱操作
try:
# d(description="开宝箱得金币").click()
d.click(0.863, 0.921)# 宝箱坐标,固定坐标
print('成功点击宝箱任务赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 点击后等待页面响应
time.sleep(6)#设置页面响应时间为6秒
# 看广告视频再赚
# d(description="看广告视频再赚").click()
d.click(0.50, 0.626)#看广告视频再赚
# d.click(0.50, 0.678) # 将屏幕向下滑动两次后的坐标
print('成功点击弹窗广告赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
#等待响应与广告时长等待
print('等待45秒后关闭广告浏览……')
time.sleep(45)# 广告时长与进入广告等待时长之后
except :
print('等倒计时结束后再来领取吧~')
# 关闭广告,无广告则可能产生异常
try:
d(text="关闭广告").click()
print('宝箱广告浏览完成。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('宝箱广告关闭异常。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))#等待3秒页面响应时间
# 可能未进入广告页面
# 尝试退出提现页面
try:
d(resourceId="com.ss.android.ugc.aweme.lite:id/jq").click()# 返回
except:
pass
time.sleep(6)
def 关闭任务界面(self):
d = u2.connect(self.ip)
# 回到视频界面继续浏览
d.swipe(0.5, 0.6, 0.5, 0.12) # 向上滑动屏幕
d(description="看视频,赚金币").click()
# 点击后等待页面响应
time.sleep(6)
def 时间等待(self):
mu=self.正态分布平均时间
# print(mu)
sigma=6
t=random.normalvariate(mu,sigma)
while t<=0 or t>=12:
t=random.normalvariate(mu,sigma)
self.任务累计时间=time.time()-self.初始任务时间
while t>0:
t=round(t,2)
time.sleep(0.08)
print('\r剩余等待时间:{:>5}秒'.format(str(t)),end='')
t=t-0.08
def 运行(self):
self.启动抖音极速版()
print('-'*16+'浏览视频APP正在启动'+'-'*16)
while True:
下一次任务时间=self.任务频率-self.任务累计时间/60
if 下一次任务时间<0:
下一次任务时间=0
print('\r累计整点时间:{:.2f}分钟,距离任务还剩{:.2f}分钟'.format(self.任务累计时间/60,下一次任务时间))
# self.启动抖音极速版()
self.滑动抖音极速版()
self.时间等待()
if self.任务累计时间>self.任务频率*60:#满足任务时间间隔则进入任务界面,并将任务记时归零
self.初始任务时间 = time.time()+120#延迟两分钟记时
self.打开任务界面()
self.限时任务赚金币()
self.宝箱任务赚金币()
self.关闭任务界面()
self.初始任务时间 = time.time()#记时校正
我的手机=手机()
# 我的手机.运行()
while True:
try:
我的手机.运行()
except :
print('程序异常,即将重新启动!')
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 10 19:24:06 2020
@author:
"""
import uiautomator2 as u2
import time
import random
d = u2.connect('192.168.3.86')
print('连接成功!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 滑动():
d.swipe(0.5, 0.6, 0.5, 0.2) # 滑动屏幕
print('手机页面滑动成功!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 签到():
# 来赚钱 点击页面跳转,针对1080分辨率
try:
d.click(0.500, 0.966)#点击
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 滑动屏幕
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 滑动屏幕
print('已进入任务界面{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('未进入任务界面{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
try:
#d.click(0.50, 0.678).click()
try:
d(description="去领取").click()#d.click(0.50, 0.678)#j将屏幕向下滑动两次后的坐标
except:
d(description="已领取").click()
print('可能已进入整点广告,等待20秒{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(20)
try:
d(text="关闭广告").click()
time.sleep(3)
except:
print('关闭广告失败{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
except:
print('已领取过整点广告{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 开宝箱
try:
d.click(0.863, 0.921)
print('已完成点击开宝箱{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
# 看广告再赚
try:
#d(description="看广告视频再赚").click()
d.click(0.50, 0.678)#j将屏幕向下滑动两次后的坐标
print('可能已进入宝箱广告,等待20秒{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(20)
d(text="关闭广告").click()
print('已完成宝箱广告{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('无宝箱广告,等倒计时结束后再来领取吧{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('等倒计时结束后再来领取吧{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
try:
time.sleep(3)
d(description="去赚钱").click()
print('可以继续观看视频了!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('返回失败!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 运行(t1, t2):
h = 3600
while True:
滑动()
t = random.randint(t1, t2)
print('将等待{}秒后继续……'.format(t))
time.sleep(t) # 暂停
h = h + t
print('距离下一次整点任务还剩{}秒'.format(3600-h))
if h > 3600:
# 签到看广告
print('即将进入签到和广告浏览!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
签到()
# 重置计时
h = 0
else:
# print('继续!')
pass
运行(1, 12)
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 27 20:39:34 2020
@author:
"""
import uiautomator2 as u2
import time
import random
class 手机:
ip='192.168.3.85'
t1=1
t2=12
h=3260
正态分布平均时间=12
def 启动(self):
d = u2.connect(self.ip)
#启动快手极速版
d.app_start("com.ss.android.ugc.aweme.lite")
#退出快手极速版
#d.app_stop("com.kuaishou.nebula") #停止
def 滑动(self):
d = u2.connect(self.ip)
d.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
print('手机页面滑动成功!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 签到(self):
d = u2.connect(self.ip)
# 来赚钱 点击页面跳转,针对1080分辨率
try:
d.click(0.500, 0.966)#点击
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 滑动屏幕
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 滑动屏幕
print('已进入任务界面{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('未进入任务界面{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
try:
#d.click(0.50, 0.678).click()
try:
d(description="去领取").click()#d.click(0.50, 0.678)#j将屏幕向下滑动两次后的坐标
except:
d(description="已领取").click()
print('可能已进入整点广告,等待20秒。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(20)
try:
d(text="关闭广告").click()
time.sleep(3)
except:
print('关闭广告失败。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
except:
print('已领取过整点广告。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 开宝箱
try:
d.click(0.863, 0.921)
print('已完成点击开宝箱。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
# 看广告再赚
try:
#d(description="看广告视频再赚").click()
d.click(0.50, 0.678)#j将屏幕向下滑动两次后的坐标
print('可能已进入宝箱广告,等待20秒。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(20)
d(text="关闭广告").click()
print('已完成宝箱广告。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('无宝箱广告,等倒计时结束后再来领取吧。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('等倒计时结束后再来领取吧。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
try:
time.sleep(3)
d(description="去赚钱").click()
print('可以继续观看视频了!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('返回失败!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 随机时间等待(self):
t = random.randint(self.t1, self.t2)
print('将等待{}秒后继续……'.format(t))
self.h=self.h+t
# print('self.h={}'.format(self.h))
time.sleep(t)
ct=3260-self.h
if ct>0:
print('距离下一次整点任务还剩{}秒!'.format(ct))
else:
print('即将进入整点任务。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 正态分布随机时间等待(self):
mu=self.正态分布平均时间
print('正态分布平均时间为:{}'.format(mu))
sigma=6
t = random.normalvariate(mu,sigma)
#如果生成的随机时间不在指定范围,则重新按照正态分布生成随机时间
while t<=0 or t>=15:
t = random.normalvariate(mu,sigma)
t=round(t,2)
print('将等待{}秒后继续……'.format(t))
self.h=self.h+t
# print('self.h={}'.format(self.h))
time.sleep(t)
ct=3260-self.h
ct=round(ct,2)
if ct>0:
print('距离下一次整点任务还剩{}秒!'.format(ct))
else:
print('即将进入整点任务。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 运行():
我的手机=手机()
print('手机实例化完成!{}\n'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
ip=input('请输入IP地址:')
if ip=='':
pass
else:
我的手机.ip=ip
h=input('距离下一次签到时间间隔为(分钟):')
if h=='':
pass
else:
我的手机.h=3260-eval(h)*60
print('已设置滑动连接为{}的手机屏幕,请保持手机处于抖音极速版视频浏览界面!\n'.format(手机.ip,time.strftime('%Y-%m-%d %H:%M:%S')))
mu=input('输入正态分布时间:')
if mu=='':
print('未输入正态分布时间,程序将采用随机整数时间间隔!')
else:
我的手机.正态分布平均时间=eval(mu)
try:
我的手机.启动()
print('抖音启动完成!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('抖音启动失败,请手动启动抖音!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
i=0
while True:
try:
我的手机.启动()#每次屏幕滑动前保持抖音极速版处于启动状态
我的手机.滑动()
#如果未指定正态分布时间,则采用随机整数时间间隔
if mu=='':
我的手机.随机时间等待()
else:
我的手机.正态分布随机时间等待()
# print('我的手机.h={}秒'.format(我的手机.h))
if 我的手机.h > 3260:
# 签到看广告
print('即将进入签到和广告浏览!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
我的手机.签到()
time.sleep(3)
# 重置计时
我的手机.h = 0
else:
# print('继续!')
pass
except:
i=i+1
print('操作失败,开始第{}次重试!'.format(i))
运行()
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 14 13:58:47 2020
@author:
"""
import uiautomator2 as u2
import time
import random
ip=input('请输入局域网手机IP:')
d = u2.connect(ip)
print('IP:{}连接成功!{}'.format(ip,time.strftime('%Y-%m-%d %H:%M:%S')))
def 滑动():
d.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
print('{}手机页面滑动成功!{}'.format(ip,time.strftime('%Y-%m-%d %H:%M:%S')))
def 运行(mu, sigma):
# 正态分布。 mu 是平均值,sigma 是标准差。
while True:
滑动()
t=random.normalvariate(mu,sigma)
while t<=0:
#当随机数小于0,重新生成随机数
t=random.normalvariate(mu,sigma)
t=round(t,2)
#对随机数保留两位小数
print('将等待{}秒后继续……'.format(t))
time.sleep(t) # 暂停
mu=10
sigma=6
运行(mu, sigma)
# -*- coding: utf-8 -*-
"""
Created on Sun Mar 15 10:38:08 2020
@author:
"""
import uiautomator2 as u2
import time
import random
# 定义一个手机类
class 手机:
'''
mu=M
'''
def 时间等待(self,正态分布平均时间):
mu=正态分布平均时间
sigma=6
t=random.normalvariate(mu,sigma)
while t<=0 or t>=35:
t=random.normalvariate(mu,sigma)
# t=4
while t>0:
t=round(t,2)
time.sleep(0.08)
print('\r剩余等待时间:{:>5}秒'.format(str(t)),end='')
t=t-0.08
#
def 向上滑动屏幕(self,IP地址):
连接 = u2.connect(IP地址)
连接.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
print('\r手机页面滑动成功!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def main():
print('请输按照提示输入程序参数。')
IP=input('地址(IP):')
M=input('时长(秒):')
if IP=='' or M=='':
IP="192.168.3.85"
M=12
print('\n默认参数如下:\n局域网IP:{}\n平均时长:{}秒\n'.format(IP,M))
else:
M=eval(M)
print('\n程序参数如下:\n局域网IP:{}\n平均时长:{}秒\n'.format(IP,M))
我的手机=手机()
print('手机实例化完成!{}\n'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
while True:
我的手机.向上滑动屏幕(IP)
我的手机.时间等待(M)
if __name__ == "__main__":
main()
# -*- coding: utf-8 -*-
"""
Created on Sun Mar 15 10:38:08 2020
@author:
"""
import uiautomator2 as u2
import time
import random
# 定义一个手机类
class 手机:
'''
mu=M
'''
IP地址="192.168.137.74"
正态分布平均时间=12
软件='快手极速版'
def 时间等待(self):
mu=self.正态分布平均时间
# print(mu)
sigma=6
t=random.normalvariate(mu,sigma)
while t<=0 or t>=12:
t=random.normalvariate(mu,sigma)
# t=4
while t>0:
t=round(t,2)
time.sleep(0.08)
print('\r剩余等待时间:{:>5}秒'.format(str(t)),end='')
t=t-0.08
#
def 向上滑动屏幕(self):
连接 = u2.connect(self.IP地址)
连接.swipe(0.5, 0.88, 0.5, 0.12) # 滑动屏幕
print('\r手机{}页面滑动成功!{}'.format(self.软件,time.strftime('%Y-%m-%d %H:%M:%S')))
def 启动软件(self):
连接 = u2.connect(self.IP地址)
if self.软件=='快手极速版':
#启动快手极速版
连接.app_start("com.kuaishou.nebula")
#退出快手极速版
# d.app_stop("com.kuaishou.nebula") #停止
elif self.软件=='抖音极速版':
#启动抖音极速版
连接.app_start("com.ss.android.ugc.aweme.lite")
#退出抖音极速版
# 连接.app_stop("com.ss.android.ugc.aweme.lite") #停止
else:
pass
time.sleep(3)
def main():
我的手机=手机()
# 可变更的对象属性
print('请输按照提示输入程序参数。')
IP=input('输入手机地址(IP):')
if IP=='':
pass
else:
手机.IP地址=IP#对IP重新赋值
M=input('输入滑动间隔时长(秒):')
if M=='':
pass
else:
手机.正态分布平均时间=eval(M)#对间隔正态分布平均时间重新赋值
软件=input('输入软件名称:')
if 软件=='':
pass
else:
手机.软件=软件
手机.IP地址
手机.正态分布平均时间
手机.软件
print('即将滑动连接为{}的手机{}屏幕,平均时间为{}秒\n'.format(手机.IP地址,手机.软件,手机.正态分布平均时间))
print('手机实例化完成!{}\n'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
print('----------ok----------')
i=0
while True:
try:
我的手机.启动软件()#软件
我的手机.向上滑动屏幕()
我的手机.时间等待()
except:
i=i+1
print('开始第{}次重新开始'.format(i))
print('即将滑动连接为{}的手机{}屏幕,平均时间为{}秒\n'.format(手机.IP地址,手机.软件,手机.正态分布平均时间))
if __name__ == "__main__":
main()
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 27 20:39:34 2020
@author:
"""
import uiautomator2 as u2
import time
import random
class 手机:
ip='192.168.3.85'
t1=1
t2=12
h=3260
正态分布平均时间=12
def 启动抖音极速版(self):
d = u2.connect(self.ip)
#启动抖音极速版
d.app_start("com.ss.android.ugc.aweme.lite")
#退出快手极速版
#d.app_stop("com.kuaishou.nebula") #停止
def 启动快手极速版(self):
d = u2.connect(self.ip)
#启动快手极速版
d.app_start("com.kuaishou.nebula")
#退出快手极速版
#d.app_stop("com.kuaishou.nebula") #停止
def 滑动(self):
d = u2.connect(self.ip)
d.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
print('手机页面滑动成功!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 签到(self):
d = u2.connect(self.ip)
# 来赚钱 点击页面跳转,针对1080分辨率
try:
d.click(0.500, 0.966)#点击底部来赚钱
# d.click(0.139, 0.528)#点中部左侧
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 滑动屏幕
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 滑动屏幕
print('已进入任务界面{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('未进入任务界面{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
try:
#d.click(0.50, 0.678).click()
try:
d(description="去领取").click()#d.click(0.50, 0.678)#j将屏幕向下滑动两次后的坐标
except:
d(description="已领取").click()
time.sleep(3)
print('可能已进入整点广告,等待40秒。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(40)
try:
d(text="关闭广告").click()
time.sleep(3)
except:
print('关闭广告失败。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
except:
print('已领取过整点广告。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 开宝箱
try:
d.click(0.863, 0.921)
print('已完成点击开宝箱。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
# 看广告再赚
try:
#d(description="看广告视频再赚").click()
d.click(0.50, 0.678)#j将屏幕向下滑动两次后的坐标
print('可能已进入宝箱广告,等待40秒。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(40)
d(text="关闭广告").click()
print('已完成宝箱广告。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('无宝箱广告,等倒计时结束后再来领取吧。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('等倒计时结束后再来领取吧。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
try:
time.sleep(3)
# d(description="去赚钱").click() #去赚钱与走路去赚钱 冲突
# d.click(0.479, 0.919)#看视频赚钱,"看视频,赚金币"
d(description="看视频,赚金币").click()
print('可以继续观看视频了!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('返回失败!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 随机时间等待(self):
t = random.randint(self.t1, self.t2)
print('将等待{}秒后继续……'.format(t))
self.h=self.h+t
# print('self.h={}'.format(self.h))
time.sleep(t)
ct=3260-self.h
if ct>0:
print('距离下一次整点任务还剩{}秒!'.format(ct))
else:
print('即将进入整点任务。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 正态分布随机时间等待(self):
mu=self.正态分布平均时间
print('正态分布平均时间为:{}'.format(mu))
sigma=6
t = random.normalvariate(mu,sigma)
#如果生成的随机时间不在指定范围,则重新按照正态分布生成随机时间
while t<=0 or t>=15:
t = random.normalvariate(mu,sigma)
t=round(t,2)
print('将等待{}秒后继续……'.format(t))
self.h=self.h+t
# print('self.h={}'.format(self.h))
time.sleep(t)
ct=3200-self.h
ct=round(ct,2)
if ct>0:
print('距离下一次整点任务还剩{}秒!'.format(ct))
else:
print('即将进入整点任务。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
def 运行():
我的手机=手机()
print('手机实例化完成!{}\n'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
ip=input('请输入IP地址:')
if ip=='':
pass
else:
我的手机.ip=ip
h=input('距离下一次签到时间间隔为(分钟):')
if h=='':
pass
else:
我的手机.h=3200-eval(h)*60
print('已设置滑动连接为{}的手机屏幕,请保持手机处于抖音极速版视频浏览界面!\n'.format(手机.ip,time.strftime('%Y-%m-%d %H:%M:%S')))
mu=input('输入正态分布时间:')
if mu=='':
print('未输入正态分布时间,程序将采用随机整数时间间隔!')
else:
我的手机.正态分布平均时间=eval(mu)
try:
我的手机.启动抖音极速版()
print('抖音启动完成!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('抖音启动失败,请手动启动抖音!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(3)
i=0
while True:
try:
# 我的手机.启动抖音极速版()#每次屏幕滑动前保持抖音极速版处于启动状态
我的手机.滑动()
#如果未指定正态分布时间,则采用随机整数时间间隔
if mu=='':
我的手机.随机时间等待()
else:
我的手机.正态分布随机时间等待()
# print('我的手机.h={}秒'.format(我的手机.h))
if 我的手机.h > 3200:
我的手机.启动抖音极速版()#每次屏幕滑动前保持抖音极速版处于启动状态
time.sleep(3)
# 签到看广告
print('即将进入签到和广告浏览!{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
我的手机.签到()
time.sleep(3)
# 重置计时
我的手机.h = 0
else:
# print('继续!')
pass
except:
i=i+1
print('操作失败,开始第{}次重试!'.format(i))
运行()
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 24 22:45:43 2020
@author:
"""
import uiautomator2 as u2
import time
import random
class 手机:
ip='192.168.3.85'
切换时间间隔=2#APP切换时间间隔
正态分布平均时间=6 #屏幕滑动时间间隔
def __init__(self):
# 记时
try:
距离任务剩余时长=eval(input('距离下一次签到还有多少分钟?\n'))#多少分钟之后可以进行来赚钱宝箱与限时任务
except:
距离任务剩余时长=0
self.任务累计时间=60*60-60*距离任务剩余时长#已经浏览的视频时长(抖音+快手),或减去剩余时长
self.切换累计时间=0
self.初始任务时间 = time.time()-self.任务累计时间#初始化整点时间
self.初始累计时间 = time.time()#初始化切换时间
# 抖音与快手切换标识
self.标识=1
print('程序时间初始化完成!已设置距离下一次整点任务还有{}分钟'.format(距离任务剩余时长))
def 启动抖音极速版(self):
d = u2.connect(self.ip)
#启动抖音极速版
d.app_start("com.ss.android.ugc.aweme.lite")
#退出快手极速版
#d.app_stop("com.kuaishou.nebula") #停止
def 启动快手极速版(self):
d = u2.connect(self.ip)
#启动快手极速版
d.app_start("com.kuaishou.nebula")
#退出快手极速版
#d.app_stop("com.kuaishou.nebula") #停止
def 滑动抖音极速版(self):
d = u2.connect(self.ip)
d.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
# d.swipe(0.985, 0.8, 0.985, 0.12) # 侧面滑动屏幕适用于抖音
print('抖音极速版页面滑动成功!{}{}'.format(' '*3,time.strftime('%Y-%m-%d %H:%M:%S')))
def 打开任务界面(self):
d = u2.connect(self.ip)
# d.click(0.500, 0.966)#点击底部来赚钱坐标
try:
d(resourceId="com.ss.android.ugc.aweme.lite:id/axz").click()#来赚钱
#点击完成之后等待6秒,完成界面切换
print('已进入抖音极速版任务页面!{}{}'.format(' '*3,time.strftime('%Y-%m-%d %H:%M:%S')))
time.sleep(6)
except :
d.click(0.500, 0.966)#点击底部来赚钱
time.sleep(6)
d.swipe(0.5, 0.6, 0.5, 0.8) # 向下滑动屏幕
time.sleep(3)
d.swipe(0.5, 0.6, 0.5, 0.8) # 向下滑动屏幕
time.sleep(3)
def 限时任务赚金币(self):
d = u2.connect(self.ip)
# 如果未进入任务界面,则可能产生任务点击异常
try:
d(description="限时任务赚金币").click()
# 点击任务后等待进入广告浏览
print('成功进入限时任务赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
print('等待45秒后关闭广告浏览……')
time.sleep(45)# 广告时长与进入广告等待时长之后
except:
print('无法进入限时任务。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 关闭广告,如果没有进入广告则会产生广告关闭异常
try:
d(text="关闭广告").click()
print('限时任务广告浏览完成。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('限时任务广告关闭异常。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
#等待3秒页面响应时间
time.sleep(3)
def 宝箱任务赚金币(self):
d = u2.connect(self.ip)
# 点击开宝箱操作
d.click(0.863, 0.921)# 宝箱坐标,固定坐标
print('成功点击宝箱任务赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
# 点击后等待页面响应
time.sleep(6)#设置页面响应时间为6秒
# 看广告视频再赚
# d(description="看广告视频再赚").click()
d.click(0.50, 0.678) # 将屏幕向下滑动两次后的坐标
print('成功点击弹窗广告赚金币。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
#等待响应与广告时长等待
print('等待45秒后关闭广告浏览……')
time.sleep(45)# 广告时长与进入广告等待时长之后
# 关闭广告,无广告则可能产生异常
try:
d(text="关闭广告").click()
print('宝箱广告浏览完成。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))
except:
print('宝箱广告关闭异常。{}'.format(time.strftime('%Y-%m-%d %H:%M:%S')))#等待3秒页面响应时间
# 可能未进入广告页面
# 尝试退出提现页面
try:
d(resourceId="com.ss.android.ugc.aweme.lite:id/jq").click()
except:
pass
time.sleep(3)
def 关闭任务界面(self):
d = u2.connect(self.ip)
# 回到视频界面继续浏览
d.swipe(0.5, 0.6, 0.5, 0.12) # 向上滑动屏幕
d(description="看视频,赚金币").click()
# 点击后等待页面响应
time.sleep(3)
def 滑动快手极速版(self):
d = u2.connect(self.ip)
# d.swipe(0.5, 0.6, 0.5, 0.12) # 滑动屏幕
d.swipe(0.985, 0.8, 0.985, 0.12) # 侧面滑动屏幕适用于抖音
print('快手极速版页面滑动成功!{}{}'.format(' '*3,time.strftime('%Y-%m-%d %H:%M:%S')))
def 时间等待(self):
mu=self.正态分布平均时间
# print(mu)
sigma=6
t=random.normalvariate(mu,sigma)
while t<=0 or t>=12:
t=random.normalvariate(mu,sigma)
self.切换累计时间=time.time()-self.初始累计时间
self.任务累计时间=time.time()-self.初始任务时间
while t>0:
t=round(t,2)
time.sleep(0.08)
print('\r剩余等待时间:{:>5}秒'.format(str(t)),end='')
t=t-0.08
def 运行(self):
# # 记时
# self.累计时间=0
# 距离任务剩余时长=0#多少分钟之后可以进行来赚钱宝箱与限时任务
# self.任务时间=60*60-60*距离任务剩余时长#已经浏览的视频时长(抖音+快手),或减去剩余时长
# # 抖音与快手切换标识
# self.标识=1
print('-'*16+'浏览APP启动'+'-'*16)
while True:
print('累计整点时间:{:.2f}h'.format(self.任务累计时间/60))
if self.切换累计时间>=self.切换时间间隔*60:
self.初始累计时间=time.time()
self.标识=-self.标识
if self.标识==1:
# 重置切换时间间隔
self.切换时间间隔=12#抖音极速版浏览时长
print('-'*16+'浏览视频APP已切换至抖音极速版'+'-'*16)
整点剩余时长=60-self.任务累计时间/60
if 整点剩余时长<0:
整点剩余时长=0
print('\r视频浏览时长累计{:.2f}分钟,距离抖音极速版赚钱任务还剩{:.2f}分钟'.format(self.任务累计时间/60,整点剩余时长))
else:
self.切换时间间隔=6#快手极速版浏览时间
print('-'*16+'浏览视频APP已切换至快手极速版'+'-'*16)
if self.标识==1:
self.启动抖音极速版()
self.滑动抖音极速版()
self.时间等待()
切换时间=self.切换时间间隔-self.切换累计时间/60
if 切换时间<0:
切换时间=0
print('\r抖音极速版已浏览{:.2f}分钟,距离浏览快速极速版还剩{:.2f}分钟'.format(self.切换累计时间/60,切换时间))
if self.任务累计时间>60*60:#满足任务时间间隔则进入任务界面,并将任务记时归零
self.初始任务时间 = time.time()
self.打开任务界面()
self.限时任务赚金币()
self.宝箱任务赚金币()
self.关闭任务界面()
if self.标识==-1:
self.启动快手极速版()
self.滑动快手极速版()
self.时间等待()
切换时间=self.切换时间间隔-self.切换累计时间/60
if 切换时间<0:
切换时间=0
print('\r快手极速版已浏览{:.2f}分钟,距离浏览抖音极速版还剩{:.2f}分钟'.format(self.切换累计时间/60,切换时间))
我的手机=手机()
# 我的手机.运行()
while True:
try:
我的手机.运行()
except :
print('程序异常,即将重新启动!')