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 查找新建元素代码
Jul 06 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
图片加载完成再执行事件的实例
Nov 16 Javascript
Angularjs实现多图片上传预览功能
Jul 18 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 Javascript
JavaScript如何把两个数组对象合并过程解析
Oct 10 Javascript
JavaScript计算正方形面积
Nov 26 Javascript
Node.js控制台彩色输出的方法与原理实例详解
Dec 01 Javascript
微信小程序wxs实现吸顶效果
Jan 08 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
网站当前的在线人数
2006/10/09 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
Python实现去除代码前行号的方法
2015/03/10 Python
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
python实现日志按天分割
2019/07/22 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
网络方面基础面试题
2012/11/16 面试题
法学专业自我鉴定
2014/02/05 职场文书
红旗方阵解说词
2014/02/12 职场文书
中秋寄语大全
2014/04/11 职场文书
难忘的一课教学反思
2014/04/30 职场文书
数字化校园建设方案
2014/05/03 职场文书
团干部培训方案
2014/06/03 职场文书
男性健康日的活动方案
2014/08/18 职场文书
工伤事故证明
2014/10/20 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js