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 以对象为索引的关联数组
May 19 Javascript
jquery获取table中的某行全部td的内容方法
Mar 08 Javascript
jquery在Chrome下获取图片的长宽问题解决
Mar 20 Javascript
解析JavaScript中的不可见数据类型
Dec 02 Javascript
jquery防止重复执行动画避免页面混乱
Apr 22 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
Jul 27 Javascript
javaScript实现滚动条事件详解
Mar 24 Javascript
angularjs实现猜大小功能
Oct 23 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
分享一个vue项目“脚手架”项目的实现步骤
May 26 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
ajax实现无刷新分页(php)
2010/07/18 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
微信小程序实现多张图片上传功能
2020/11/18 Javascript
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
Python File readlines() 使用方法
2018/03/19 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
python实现PCA降维的示例详解
2020/02/24 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
中学教师实习自我鉴定
2013/09/28 职场文书
自荐信如何“自荐”
2013/10/24 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
共产党员承诺书
2014/03/25 职场文书
中班开学寄语
2014/04/04 职场文书
电子专业自荐信
2014/07/01 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书