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中最常看到切最容易迷惑的语法(转)
Oct 29 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
Jquery图片滚动与幻灯片的实例代码
Apr 08 Javascript
原生javascript兼容性测试实例
Jul 01 Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
Aug 24 Javascript
JS面向对象编程详解
Mar 06 Javascript
js实现上一页下一页的效果【附代码】
Mar 10 Javascript
ZK中使用JS读取客户端txt文件内容问题
Nov 07 Javascript
原生js实现瀑布流效果
Mar 09 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
Sep 21 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
SONY SRF-M100的电路分析
2021/03/02 无线电
php下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
定义select的边框颜色
2008/04/28 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
简介AngularJS中$http服务的用法
2016/02/06 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
应聘面试自我评价
2014/01/24 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
一体化教学实施方案
2014/05/10 职场文书
环境整治工作方案
2014/05/18 职场文书
计生专干事迹
2014/05/28 职场文书
治安消防安全责任书
2014/07/23 职场文书
小孩不笨观后感
2015/06/03 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
Python图片检索之以图搜图
2021/05/31 Python