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 相关文章推荐
彻底搞懂JS无缝滚动代码
Jan 03 Javascript
node.js中的fs.readlink方法使用说明
Dec 17 Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
Underscore之Array_动力节点Java学院整理
Jul 10 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
vue v-model实现自定义样式多选与单选功能
Jul 05 Javascript
JS中判断字符串存在和非空的方法
Sep 12 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
微信小程序简单的canvas裁剪图片功能详解
Jul 12 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 Javascript
详解JS预解析原理
Jun 16 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
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
js实现常用排序算法
2016/08/09 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
python分割文件的常用方法
2014/11/01 Python
为python设置socket代理的方法
2015/01/14 Python
深入学习python多线程与GIL
2019/08/26 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python实现用户名密码校验
2020/03/18 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
中学生演讲稿
2014/04/26 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
鉴史问廉观后感
2015/06/10 职场文书
javascript对象3个属性特征
2021/11/17 Javascript