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 相关文章推荐
妙用Jquery的val()方法
Jun 27 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
jquery 模板的应用示例
Nov 12 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
JavaScript表单验证实例之验证表单项是否为空
Jan 10 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
Angularjs中的ui-bootstrap的使用教程
Feb 19 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
Jun 05 Javascript
JS实现图片转换成base64的各种应用场景实例分析
Jun 22 Javascript
小程序tab页无法传递参数的方法
Aug 03 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 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
PHP截取中文字符串的问题
2006/07/12 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
php+highchats生成动态统计图
2014/05/21 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
python 实现屏幕录制示例
2019/12/23 Python
python生成任意频率正弦波方式
2020/02/25 Python
python程序需要编译吗
2020/06/19 Python
比利时家具购买网站:Home24
2019/01/03 全球购物
初中生物教学反思
2014/01/10 职场文书
司机辞职报告范文
2014/01/20 职场文书
学校食品安全实施方案
2014/06/14 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技