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 相关文章推荐
javascript 导出数据到Excel(处理table中的元素)
Dec 18 Javascript
jQuery判断复选框是否勾选的原理及示例
May 21 Javascript
node.js中的http.response.setHeader方法使用说明
Dec 14 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
Mar 11 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
js动态生成Html元素实现Post操作(createElement)
Sep 14 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
ES6 Promise对象的应用实例分析
Jun 27 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
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
php5 pdo新改动加载注意事项
2008/09/11 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python的else子句使用指南
2016/02/27 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Python3标准库总结
2019/02/19 Python
linux 下selenium chrome使用详解
2020/04/02 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
邮政员工辞职信
2014/01/16 职场文书
库房保管员岗位职责
2014/04/07 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
2014年营业员工作总结
2014/11/18 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL