AutoJS4.1.0实战教程 ---有颜短视频

简介: AutoJS4.1.0实战教程 ---有颜短视频


推进指数:四颗星

有颜短视频给你惊吓一会就能搞个10多万金币。哈哈别激动。转换比例不一样你懂得。

auto.waitFor();//判断和等待开启无障碍
let see_count = 1000;//rawInput('请输入滑动次数','1000');//手动输入滑动次数默认是1000次。
app.launchApp('有颜短视频');//只有一个有颜短视频所以直接Launch就可以,不用包名
sleep(10000);//等待splash时间
console.show(); //开启日志(悬浮窗权限)
for (var i = 1; i < see_count; i++) {
    toast("有颜短视频滑动" + i +  "次"+"总计:"+ see_count + "次");//系统自带目前我huweinova不显示还不知道为啥
    console.log("有颜短视频滑动" + i + "次"+"总计:"+ see_count + "次");
    youyanCloseAd();
    randomUpSildeScreen();//模仿人类随向上滑动一次,表示对这个视频有兴趣
    randomDownSildeScreen();//模仿人类随连续下滑2次,表示对当前视频无兴趣
    randomHeart();//模仿人类随随机点赞
    slideScreenDown(device.width / 2, device.height-200, device.width / 2, 200, 300);
}
//关闭当前程序
home();//回到首页
exits();//退出js脚本
/**
 * 有颜视频关闭广告
 */
function youyanCloseAd(){
    if(className("android.widget.ImageView").id("img_close").exists()){
        className("android.widget.ImageView").id("img_close").findOnce().click();
    }
}
/**
 * 屏幕向下滑动并延迟8至12秒
 */
function slideScreenDown(startX, startY, endX, endY, pressTime) {
    swipe(startX, startY, endX, endY, pressTime);
    let delayTime = random(8000, 12000);
    sleep(delayTime);//模仿人类随机时间
}
/**
 * 随机上滑(防止被判定是机器)上滑后停留时间至少是10S,造成假象表示是对内容感兴趣
 * 点赞和关注先不搞。
 */
function randomUpSildeScreen(){
    let randomIndex = random(1, 50);
    if(randomIndex==1){
        console.log("有颜短视频随机上滑被执行了!!!");
        pressTime = random(200, 500);
        swipe(device.width / 2, 500, device.width / 2, device.height-200, 300);
        delayTime = random(10000, 15000);
        sleep(delayTime);
    }
}
/**
 * 连续下滑对上一个无兴趣
 * 其实得和上滑做个排他,既然无兴趣不要在上滑
 */
function randomDownSildeScreen(){
    let randomIndex = random(1, 50);
    if(randomIndex==1){
        console.log("有颜短视频连续下滑被执行了");
        swipe(device.width / 2, device.height-200, device.width / 2, 500, 300);
        sleep(2000);
        swipe(device.width / 2, device.height-200, device.width / 2, 500, 300);
        delayTime = random(8000, 10000);
        sleep(delayTime);
    }
}
/**随机点赞并休息一秒 */
function randomHeart() {
    index = random(1, 50);
    if (index == 6) {
        var target = id('a4layout_likel').findOnce();
        if (target == null) {
            return;
        } else {
            target.click();
            sleep(1000);
            console.log("有颜短视频随机点赞并休息一秒");
        }
    }
}
function randomFollow(){
    index = random(1, 100);
    if (index == 66) {
        var target = id('nebula_thanos_bottom_follow_button_layout').findOnce();
        if (target == null) {
            return;
        } else {
            target.click();
            sleep(1000);
        }
    }
}
/**
 * 随机评论(未实现)
 */
function randomComment() {
    content = "666"
    id('comment_button').findOnce().click();
    sleep(1000);//阻塞下面的动作
    id("recycler_view").className("androidx.recyclerview.widget.RecyclerView").scrollable(true).findOne().children().forEach(child => {
        var target = child.findOne(id("comment"));
        target.click();
    });
    sleep(1000);
}

 

目录
相关文章
|
JavaScript 前端开发 测试技术
类型体操之实现 Pick 和 Omit
之前深信服前端一面的时候,面试官问我会 TypeScript 吗?想到我之前说 Vue3 原理时顺便提了一口 Vue3 是基于 TypeScript 写的,我既然懂 Vue3 原理,那说不会一点 TypeScript 那实在是有点说不过去
|
7月前
|
人工智能 安全 搜索推荐
阿里云采购季:短信服务低至 0.01 元/条!
阿里云“上云采购季”,短信服务低至 0.01 元/条
226 3
|
7月前
|
自然语言处理 搜索推荐 前端开发
大模型联网搜索的短板与突破之路
本文作者详细分析了当前大模型在联网搜索功能中存在的几个主要问题,并提供了具体的案例和解决方案。
1009 8
大模型联网搜索的短板与突破之路
|
缓存 Java Nacos
一文带你理解@RefreshScope注解实现动态刷新原理
一文带你理解@RefreshScope注解实现动态刷新原理
1086 0
一文带你理解@RefreshScope注解实现动态刷新原理
|
12月前
|
Java 索引
让星星⭐月亮告诉你,HashMap之往红黑树添加元素-putTreeVal方法源码解读
本文详细解析了Java `HashMap` 中 `putTreeVal` 方法的源码,该方法用于在红黑树中添加元素。当数组索引位置已存在红黑树类型的元素时,会调用此方法。具体步骤包括:从根节点开始遍历红黑树,找到合适位置插入新元素,调整节点指针,保持红黑树平衡,并确保根节点是链表头节点。通过源码解析,帮助读者深入理解 `HashMap` 的内部实现机制。
142 2
|
安全 Java Maven
使用MapStruct简化Java对象映射
在软件开发中,经常需要将一个Java对象的数据映射到另一个对象,特别是在使用DTO(Data Transfer Object)模式时。手动编写这些映射代码非常繁琐,而MapStruct可以帮助我们自动生成这些映射代码,从而提高开发效率和代码质量。
407 2
|
Java Spring
spring restTemplate 进行http请求的工具类封装
spring restTemplate 进行http请求的工具类封装
529 3
|
JSON 前端开发 Java
SpringBoot3怎么做统一结果封装?
在Spring Boot应用中,统一结果封装有助于团队协作,确保一致的API响应格式,提升代码质量和维护性。主要优点包括:简化前端集成工作,减少后端重复编码,以及增强接口的可维护性。实现上,首先定义`Result`类来封装响应状态码、消息、数据及时间戳;其次,通过`ResultCode`枚举类标准化状态信息。示例代码展示了如何构建这些类,并通过一个简单的控制器方法演示了如何使用它们返回JSON格式的响应结果。
574 2
|
存储 Oracle 关系型数据库
实时计算 Flink版操作报错之遇到Caused by: java.sql.SQLException: ORA-44609: CONTINOUS_MINE,该怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
Rockchip系列之LED状态灯 CAN收发数据流程以及控制状态显示(4)
Rockchip系列之LED状态灯 CAN收发数据流程以及控制状态显示(4)
366 3