1 Star 0 Fork 8

何松涛/autoVideo

forked from wukunlu/autoVideo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
快手极速版.js 4.28 KB
一键复制 编辑 原始数据 按行查看 历史
zoro 提交于 2020-01-13 20:18 . first commit
/**
* 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()
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/he_songtao/autoVideo.git
git@gitee.com:he_songtao/autoVideo.git
he_songtao
autoVideo
autoVideo
master

搜索帮助