You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.3 KiB
154 lines
4.3 KiB
/**
|
|
* 3元起提,没有限制,只要求手机验证码
|
|
*/
|
|
|
|
const perVideoWatchTime=5//每隔视频观看10秒
|
|
const halfDeviceHeight=device.height/2
|
|
const halfDeviceWidth=device.width/2
|
|
const videoSwipeDistance=halfDeviceHeight-100//视频下滑的长度 px
|
|
// test()
|
|
// onlyRun()
|
|
//只允许本脚本时,将上行解除注释
|
|
function onlyRun(){
|
|
|
|
auto();
|
|
console.show()
|
|
log("开始快手极速版")
|
|
images.requestScreenCapture(false)
|
|
log("已获得截屏权限")
|
|
|
|
let totalTime=2*60*60 //刷2小时
|
|
run(totalTime)
|
|
}
|
|
function test(){
|
|
|
|
auto();
|
|
console.show()
|
|
log("开始快手极速测试")
|
|
images.requestScreenCapture(false)
|
|
log("已获得截屏权限")
|
|
click("我知道了")
|
|
exit()
|
|
}
|
|
var kuaiShou = {};
|
|
kuaiShou.main = function (totalTime) {
|
|
run(totalTime)
|
|
};
|
|
|
|
module.exports = kuaiShou;
|
|
function run(totalTime){
|
|
log("计划时长:"+totalTime)
|
|
launchApp()
|
|
let watchTime=0;
|
|
for(let i=1;totalTime>watchTime;i++){
|
|
if(text("拖动滑块").findOnce()){
|
|
log("出现验证码,结束")
|
|
runOver()
|
|
break;
|
|
}
|
|
let waitTime=perVideoWatchTime+random(-4,4)
|
|
log("本视频观看时长"+waitTime)
|
|
sleep(waitTime/2*1000);
|
|
likeAndfollow(7)
|
|
sleep(waitTime/2*1000);
|
|
watchTime+=waitTime
|
|
log("已看:"+i+"个视频 "+watchTime+"秒")
|
|
swipeVideo(i)
|
|
|
|
}
|
|
}
|
|
|
|
function launchApp(){
|
|
let isLauchApp=false
|
|
while(!isLauchApp){
|
|
log("尝试启动")
|
|
launchPackage("com.kuaishou.nebula")
|
|
sleep(10000)
|
|
let mesbox=id("com.kuaishou.nebula:id/a4v").findOnce()
|
|
if(mesbox){
|
|
mesbox.click()
|
|
}
|
|
mesbox=id("com.kuaishou.nebula:id/close").findOnce()
|
|
if(mesbox){
|
|
mesbox.click()
|
|
}
|
|
|
|
mesbox=text("我知道了").findOnce()
|
|
if(mesbox){
|
|
mesbox.click()
|
|
}
|
|
isLauchApp=id("com.kuaishou.nebula:id/circular_progress_bar").findOnce()
|
|
}
|
|
|
|
log("已启动")
|
|
}
|
|
//swipeCount,滑动视频的次数
|
|
function swipeVideo(swipeCount){
|
|
let offset=random(-100,0)
|
|
if(swipeCount%6==0){
|
|
// 双数的第6次下滑
|
|
swipe(halfDeviceWidth-random(-50,50), halfDeviceHeight+offset+(videoSwipeDistance/2),
|
|
halfDeviceWidth+random(-50,50), halfDeviceHeight+offset-(videoSwipeDistance/2), 30);
|
|
}else if(swipeCount%2==0){
|
|
//双数次上滑
|
|
swipe(halfDeviceWidth+random(-50,50), halfDeviceHeight+offset,
|
|
halfDeviceWidth+random(-50,50), halfDeviceHeight+offset+(videoSwipeDistance/2), 30);
|
|
|
|
}else {
|
|
//单数下滑
|
|
swipe(halfDeviceWidth-random(-50,50), halfDeviceHeight+offset+(videoSwipeDistance/2),
|
|
halfDeviceWidth+random(-50,50), halfDeviceHeight+offset-(videoSwipeDistance/2), 30);
|
|
}
|
|
|
|
}
|
|
//有range*2+1分之一的概率点喜欢,range*4+1分之一的概率点关注,关注必定喜欢
|
|
function likeAndfollow(range){
|
|
let isLike=random(-1*range,range)
|
|
if(isLike==0){
|
|
click(halfDeviceWidth,halfDeviceHeight)
|
|
sleep(50)
|
|
click(halfDeviceWidth,halfDeviceHeight)
|
|
log("双击喜欢")
|
|
let isFollow=random(-1*range,range)
|
|
if(isFollow==0){
|
|
text("关注").click()
|
|
log("点了关注")
|
|
}else{
|
|
// log("不是点关注的概率:"+isFollow)
|
|
}
|
|
|
|
}else{
|
|
// log("不是点喜欢的概率:"+isLike)
|
|
}
|
|
|
|
}
|
|
//是否已经不再有收益了
|
|
function isNoIncome(){
|
|
let isIncome=findIncomeIcon()
|
|
if(!isIncome){
|
|
sleep(6000)
|
|
isIncome=findIncomeIcon()
|
|
if(!isIncome){
|
|
log("等待6秒,不见收益红包")
|
|
return false
|
|
}
|
|
}
|
|
log("正在收益中")
|
|
return true;
|
|
}
|
|
//查找收入红包的图标,是收益中的返回true 否则返回false
|
|
function findIncomeIcon(){
|
|
let redBag=id(" com.kuaishou.nebula:id/circular_progress_bar").findOnce()
|
|
if(redBag){
|
|
let redBagBounds=redBag.bounds()
|
|
let screen=images.captureScreen();
|
|
// log(redBagBounds)
|
|
let p=images.findColorEquals(screen,"#f85050",redBagBounds.left,redBagBounds.top,redBagBounds.width(),redBagBounds.height())
|
|
return p?true:false;
|
|
}
|
|
return false;
|
|
}
|
|
function runOver(){
|
|
home()
|
|
}
|
|
|
|
|