autojs 自阅 刷宝短视频 脚本源码
//刷宝
var myApp ={};
myApp.currentRunNum = 0;//当前运行数量
myApp.maxRunNum = 3;//运行次数
myApp.minRunTime = 20;//分钟
myApp.maxRunTime = 25;//最大运行时间
myApp.startTime = null;
myApp.appPackage = "com.jm.video";
myApp.homeActivity = "com.jm.video.ui.main.MainActivity";
myApp.ocr={};
isRoot = false;
myApp.moveMaxY = (device.height-300);//滑动的最大y值
//时间差 ,返回分钟
function timeDeffToSecond(start,end){
var c = end.getTime()-start.getTime();
return c/(60*1000);
}
//判断是否root
function whetherRoot() {
threads.start(function () {
log('判断是否root')
try {
click(2000, 2000)
isRoot = false
log('未root')
} catch (error) {
isRoot = true
log(error)
log('已root')
}
})
}
/**
* 点击
* @param {*} x
* @param {*} y
*/
function onClick(x, y) {
if (isRoot == true) {
Tap(x, y)
} else {
click(x, y)
}
}
/**
* 控件查找并点击
* @param {控件查找类型} way
* @param {查找字符} str
* @param { 查找时间} sleepTime
*/
function clickNode(way, str, sleepTime) {
if (!sleepTime) {
sleepTime = 1000
}
let result = false //点击结果
let object;
if (way == "text") {
object = text(str).findOne(sleepTime);
} else if (way == "desc") {
object = desc(str).findOne(sleepTime);
} else if (way == "id") {
object = id(str).findOne(sleepTime);
} else if (way == "className") {
object = className(str).findOne(sleepTime);
} else {
log("Error:clickNode-way参数不正确")
}
if (object != null) {
if (object.clickable()) {
result = object.click();
result && sleep(sleepTime);
// if (result) {
// sleep(sleepTime);
// }
} else {
//log("Error:clickNode-组件不可点击")
let x = object.bounds().centerX();
let y = object.bounds().centerY();
log(str)
console.log(x+","+y);
if (x > 0 && y > 0) {
result = click(parseInt(x), parseInt(y));
} else {
log("Error:clickNodeR-中心点坐标不在可视区")
}
result && sleep(sleepTime);
}
} else {
// log("Error:clickNode-组件不存在/没找到")
}
return result;
};
//关闭按钮 针对x按钮 无id, 无标记的情况
function imgClose(findColor){
log("开始关闭 X 控件");
sleep(1000);
var img = captureScreen();
var p = findMultiColors(img, findColor, [[10, 10, findColor], [10, -10, findColor],[-10, -10, findColor],[-10, 10, findColor]]);
console.log(p);
if(p){
// var top = images.pixel(img, p.x,p.y-5);//y正半轴
// var bottom = images.pixel(img, p.x,p.y+5);//y负半轴
// var right = images.pixel(img, p.x+5,p.y);//x正半轴
// var left = images.pixel(img, p.x-5,p.y);//x正负轴
// log(top);
// log(bottom);
// log(right);
// log(left);
click(p.x,p.y);
sleep(1000);
log("关闭成功");
}else{
className("android.widget.ImageView").find().forEach(function(currentValue, index) {
if(currentValue.clickable()){
currentValue.click();
}
});
}
}
//申请提现
function sqTX() {
if (clickNode("text","立即提现",2000)) {
if (clickNode("text","我知道了",2000)) {
if (clickNode("text","提现详情",1000)) {
return true;
}
}else {
if (clickNode("text","提现详情",1000)) {
return true;
}
}
}
return false;
}
//开始提现
function startTX() {
if (clickNode("text","提现",2000)) {
if (clickNode("text","立即提现",2000)) {
swipe(random(300,400),device.height-random(300, 400),400,random(200, 300),random(1000,1500));
if (text("今日已提现").exists()) {
return false;
}
log("===========>>>");
log(text("¥10.00元").exists());
ui.run(function(){
toastLog("====>>>");
})
if (clickNode("text","¥10.00元",2000)) {
if(sqTX()){
return true;
}
}
if (clickNode("text","¥3.00元",2000)) {
if(sqTX()){
return true;
}
}
if (clickNode("text","¥0.3元",2000)) {
if(sqTX()){
return true;
}
}
log("22222222");
sleep(2000);
back();
}
sleep(2000);
back();
}
}
//关闭签到弹框
function closeQDDialog() {
if (clickNode("id","imgClose",2000)) {
log("---->> 立即签到");
if(clickNode("text","立即签到",2000)){
imgClose("#998980");
}
}else{
log("---->> 立即签到");
if(clickNode("text","立即签到",2000)){
imgClose("#998980");
}
}
}
//打开首页
function openSY() {
clickNode("text","首页",2000);
}
//签到 imgClose
function qd() {
if (clickNode("text","任务",2000)) {
//closeQDDialog();
sleep(3000);
closeQDDialog();
sleep(1000);
} else if(clickNode("text","福利",2000)){
sleep(3000);
closeQDDialog();
sleep(1000);
}
else
if(id("ll_tap").depth(10).exists()){
var b = id("ll_tap").depth(10).findOne();
if (b.centerX()>0&&b.centerY()>0) {
onClick(b.centerX(),b.centerY());
sleep(2000);
closeQDDialog();
sleep(1000);
}
}
}
function jsMaxMoveY(){
if(id("portait").exists()){
let b = id("portait").findOne().bounds();
if(b.bottom>0){
myApp.moveMaxY = b.botto;
}
}else{
if(text("首页").exists()){
let b = text("首页").findOne().bounds();
if(b.bottom>0){
myApp.moveMaxY = b.top-100;
}
}
}
}
myApp.start = function (runNum){
console.log("--------==>"+"运行刷宝短视频");
if(runNum>myApp.maxRunNum){
return;
}
sleep(3000);
myApp.startTime = new Date();
sleep(3000);
if(launchApp("刷宝短视频")){
waitForActivity(myApp.homeActivity);
sleep(5000);
qd();
startTX();
// whetherRoot();
// log("---->"+runNum);
// // if(runNum==1){
// // sleep(random(5000, 10000));
// // qd();
// // openRW();
// // openTX();
// // onTX();
// // }
openSY();
log("width:"+device.width);
while(true){
sleep(random(8000, 16000));
if(id("live_top_users").exists()||id("btn_active").exists()||id("btn_gift").exists()){
swipe(device.width - random(400,700),device.height-random(0, 100),device.width - random(300, 400),random(100, 300),random(500,1000));
}
// qd();
swipe(device.width - random(300,400),myApp.moveMaxY-random(0, 100),device.width - random(400, 700),random(100, 200),random(500,1000));
log("-------->时间:"+timeDeffToSecond( myApp.startTime,new Date()))
if(timeDeffToSecond( myApp.startTime,new Date())>(random(myApp.minRunTime,myApp.maxRunTime))){
return;
}
}
}
}
module.exports = myApp;
感兴趣的一起交流,
用庖丁加密试了几次都不成功;头疼!!!
autojs 自阅 刷宝短视频 脚本源码相关推荐
- autojs写脚本:天启app脚本源码
autojs写脚本:天启app脚本源码 个人保存而已. 源码中涉及到广告关闭.控件点击等函数.自己使用的. 需要的话需付费.不免费. 如果真有心,想学,源码中的编写脚本的逻辑等完全够用. var 日常 ...
- AutoJs实战教程---刷宝短视频
- 刷宝短视频Auto.js挂机源码讲解
今天给大家分享一个刷宝短视频自动挂机脚本Auto.js源码,如果你对Auto.js不甚了解,希望你能通过阅读下面的源码后,对编写一个简单的Auto.js有所帮助.如果你在脚本编写过程中遇到困难,可以加 ...
- Auto.js抖音极速版、快手极速版,刷宝短视频、火山极速版自动刷看
介绍 脚本能够实现抖音极速版.快手极速版,刷宝短视频.火山极速版.趣看看App的自动刷看.脚本布置在手机上后会自动刷看,为防止被封,我设置几个app循环刷看,其中趣看看能实现文章自动检测广告,跳过广告 ...
- 微信程序短视频去水印源码 开源产品未加密未授权相关文章
微信程序短视频去水印源码 开源产品未加密未授权相关文章 看到咸鱼上还有人卖这套源码,所以就把这套源码 免费分享出来 开源产品,未加密未授权,可调用别人的接口和自己的接口. PS:源码仅供技术学习参考, ...
- 原生Java高仿抖音短视频APP双端源码
简介: 从别的网站199购买的原生Java高仿抖音短视频APP双端源码,免费给大家~ 源码未测试,java开发,上手有难度,小白童鞋请勿瞎捣鼓. 安卓语言是:android stdio 苹果语言是:O ...
- bat脚本保存dir结果_Tomcat的启停脚本源码解析
作者 | 程序员自由之路 来源 | cnblogs.com/54chensongxia/p/13234398.html Tomcat的启停脚本源码解析 Tomcat是一款我们平时开发过程中最常用到的S ...
- 官方教程之短视频app源码接入openinstall实现免填邀请码功能
短视频app源码在上线后,为了实现大规模推广,会开发用户邀请的功能.用户邀请新用户进行注册,建立上下级关系后,邀请用户可以获得短视频app源码的奖励.为了防止新用户注册后,不填写邀请码,短视频app源 ...
- 短视频app源码开发,短视频录制的实现
原理说明 利用SurfaceView预览视频 利用系统自带的MediaRecorder实现短视频app源码中短视频视频的录制 实例化 设置音频输入 设置输出格式 设置视频编码格式 设置输出路径 调用p ...
最新文章
- RHEL6.3 DNS高级技术二 通过DNS主从区域复制实现DNS View负载均衡和冗余备份
- Tensorflow【实战Google深度学习框架】—Logistic regression逻辑回归模型实例讲解
- DCMTK:OFStandard中“转换为标记”代码的测试程序
- 如何成为一名优秀的程序员?
- 论文浅尝 | Wordly Wise(WoW) - 用于语音视觉知识问答的跨语言知识融合模型
- 华为 HarmonyOS2.0(鸿蒙OS) 开发者beta公测招募的报名流程
- 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中
- 【首度披露】乐视电商云的整体架构与技术实现
- 华为手机root过程
- 将一个网页设置为屏保
- php快递按选择次数排序,php快递接口查询api 不限制次数
- python数据分析——简单且有用的代码
- 正在考虑写一本书《中国有所没有围墙的大学,影响了世界几千年》第一章请给个反响...
- 在C语言中使用bool
- Python实现电报加密(字母后移一位)
- 51Nod1123 X^A Mod B 数论 中国剩余定理 原根 BSGS
- 《数字图像处理》冈萨雷斯版 读书笔记(二)
- SQL-SERVER的STUFF函数group by 分组,字符串合并
- hdf5格式的matlab读写操作
- 苹果Mac怎样让输入法实现自动切换?
热门文章
- linux代码之LL/SC/LSE 及锁指令
- 汇编:CPU结构 - FLAG标志寄存器和相关指令
- 实验操作:Squid代理服务器应用(传统代理透明代理)--------------------------------------就整吧
- 计算机网络-数据传输
- 武士数独求解思路+代码实现(部分)
- 第一课:路由器宽带拨号入网(小米路由器)
- Java实现基于国密SM2、SM4生成证书密钥进行字串的加解密
- 三维坐标变换(旋转矩阵旋转向量)
- type-cmd命令批量合并txt文件-乱码-编码转换问题
- 天气爬虫网站(flask+sqlite3+selenium+echarts)