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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
IE不出现Flash激活框的小发现的js实现方法
Sep 07 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
JS实现向表格中动态添加行的方法
Mar 30 Javascript
js实现鼠标经过表格行变色的方法
May 12 Javascript
javascript基础练习之翻转字符串与回文
Feb 20 Javascript
JS中mouseup事件丢失的原因与解决办法
Jun 14 Javascript
vue中使用localstorage来存储页面信息
Nov 04 Javascript
webpack项目轻松混用css module的方法
Jun 12 Javascript
js图片无缝滚动插件使用详解
May 26 Javascript
JS实现水平移动与垂直移动动画
Dec 19 Javascript
JS实现扫雷项目总结
May 19 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
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
django将数组传递给前台模板的方法
2019/08/06 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
详解python的super()的作用和原理
2020/10/29 Python
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
值传递还是引用传递
2015/02/08 面试题
五一手机促销方案
2014/03/08 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
Nginx快速入门教程
2021/03/31 Servers
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL