AutoJs实现刷宝短视频的思路详解


Posted in Javascript onMay 22, 2020

Auto.js 是个基于 JavaScript 语言运行在Android平台上的脚本框架。Auto.js主要工作原理是基于辅助服务AccessibilityService。

今天主要和大家分享一下刷刷刷过程中提示直播的窗体关闭问题,

我的手机判断一下android.widget.RelativeLayout控件的数量。9个是正常的超过了就是有直播提醒。当然不同的手机可能不一样,大家自己修改一下吧!

let liveVideo=className ("android.widget.RelativeLayout").find();
 if(liveVideo.length>9){
  clickScreen();
 }

其实还有一个思路:就是每一次都点击一下屏幕。

总体代码:

auto.waitFor();
let see_count = 1000;// rawInput('请输入滑动次数',"3000");
app.launchApp('刷宝短视频');
sleep(4000);
console.show(); //开启日志(悬浮窗权限)
authorityCancleTip();//点击权限取消按钮
for (var i = 1; i < see_count; i++) {
 toast("刷宝短视频滑动" + i + '次');
 console.log("刷宝短视频滑动" + i + '次' + "总计:" + see_count + "次");
 shuabaoCloseAD();
 randomDownSildeScreen();
 randomHeart();
 randomFollow();
 slideScreenDown(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.1, 400);
}
//退到主页面
home();
/**
 * 刷宝关闭广告
 */
function shuabaoCloseAD() {
 let liveVideo=className ("android.widget.RelativeLayout").find();
 if(liveVideo.length>9){
  clickScreen();
 }
 if (id("hotspot_imgdismiss").exists()) {
  id("hotspot_imgdismiss").findOnce().click();
 }
}
/**
 * 屏幕向下滑动并延迟8至12秒
 */
function slideScreenDown(startX, startY, endX, endY, pressTime) {
 swipe(startX, startY, endX, endY, pressTime);
 delayTime = random(8000, 10000);
 sleep(delayTime);//模仿人类随机时间
}
/**
 *点击一下屏幕
 */
function clickScreen() {
 var x = device.width - device.width * 0.2;
 var y = device.height - device.height * 0.2;
 toastLog("点击屏幕" + x + ":" + y);
 let clickResult = click(x, y);
 toastLog(clickResult);
}
function authorityCancleTip() {
 if(text("取消").exists()){
  text("取消").findOnce().click();
 }
 if (id("cancel").exists()) {
  id("cancel").findOnce().click();
 }
}
/**
 * 随机上滑(防止被判定是机器)上滑后停留时间至少是10S,造成假象表示是对内容感兴趣
 * 点赞和关注先不搞。
 */
function randomUpSildeScreen() {
 let randomIndex = random(1, 40);
 if (randomIndex == 1) {
  console.log("随机上滑被执行了");
  pressTime = random(200, 500);
  swipe(device.width / 2, 500, device.width / 2, device.height - 200, 700);
  delayTime = random(8000, 10000);
  sleep(delayTime);
 }
}
/**
 * 连续下滑对上一个无兴趣
 * 其实得和上滑做个排他,既然无兴趣不要在上滑
 */
function randomDownSildeScreen() {
 let randomIndex = random(1, 20);
 if (randomIndex == 1) {
  console.log("连续下滑被执行了");
  swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.1, 400);
  sleep(2000);
  swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.1, 400);
  delayTime = random(8000, 10000);
  sleep(delayTime);
 }
}
/**随机点赞并休息一秒 */
function randomHeart() {
 index = random(1, 10);
 if (index == 6) {
  if(id("praise").exists()){
   id("praise").findOnce().click();
  }
 }
}
function randomFollow() {
 index = random(1, 10);
 if (index == 6) {
  if(id('tv_ad_attention').exists()){
   id("tv_ad_attention").findOnce().click();
  }else{
   if(text("关注").exists()){
    text("关注").findOnce().click();
   }
  }
 }
}

总结

到此这篇关于AutoJs实现刷宝短视频的思路详解的文章就介绍到这了,更多相关AutoJs 刷宝短视频内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
AJAX架构之Dojo篇
Apr 10 Javascript
jquery 如何动态添加、删除class样式方法介绍
Nov 07 Javascript
JS截取url中问号后面参数的值信息
Apr 29 Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
vue实现跨域的方法分析
May 21 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
jquery更改元素属性attr()方法操作示例
May 22 #jQuery
微信小程序转化为uni-app项目的方法示例
May 22 #Javascript
小程序分享链接onShareAppMessage的具体用法
May 22 #Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 #jQuery
JS变量提升原理与用法实例浅析
May 22 #Javascript
JavaScript直接调用函数与call调用的区别实例分析
May 22 #Javascript
js事件机制----捕获与冒泡机制实例分析
May 22 #Javascript
You might like
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
axios实现简单文件上传功能
2019/09/25 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
wxPython学习之主框架实例
2014/09/28 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
酒店管理求职信范文
2014/04/06 职场文书
庆祝儿童节标语
2014/10/09 职场文书
介绍信格式
2015/01/30 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
聊聊CSS粘性定位sticky案例解析
2022/06/01 HTML / CSS