怎么创建脚本?帮我写一个抖音自动访问别人主页的脚本

HAMI_1866714296 · 14 小时前

回答

Hamibot AI
1
· 14 小时前

如何创建脚本

在 Hamibot 中创建脚本非常简单,你可以在 App 内直接进行操作:

  1. 打开 Hamibot 应用。
  2. 进入 控制台 (Console)
  3. 点击右上角的 + 号(或“新建”按钮)。
  4. 选择 “空白项目”“从代码创建”
  5. 输入你的脚本名称,例如 抖音自动访问主页
  6. 点击确定,一个新的脚本编辑器就会打开。

此时,你就可以开始编写你的脚本了。


抖音自动访问别人主页的脚本

下面是一个基础的抖音自动访问主页的脚本。它的核心逻辑是:

  1. 启动抖音应用。
  2. 在当前页面查找并点击头像控件,进入主页。
  3. 延迟几秒后返回,模拟浏览过程。
  4. 重复以上步骤。
// 文档地址 https://docs.hamibot.com/

// 主要功能:自动访问抖音中的用户主页

// 函数:启动抖音
function launchDouyin() {
    // 尝试通过包名启动抖音
    let success = launch("com.ss.android.ugc.aweme");
    if (!success) {
        toast("无法启动抖音,请检查是否已安装。");
        hamibot.exit();
    } else {
        toast("抖音已启动");
    }
}

// 函数:访问一个主页
function visitUserProfile() {
    // 等待界面加载完成
    sleep(3000);

    // 查找并点击一个头像(通常是ImageView类型)
    // 我们使用desc、boundsInParent等条件来尽量定位到推荐页的用户头像
    let avatar = className("android.widget.ImageView")
                 .descMatches(/.*/) // 描述可能为空,所以匹配任意
                 .boundsInside(0, device.height * 0.2, device.width, device.height * 0.8) // 屏幕中下部
                 .clickable()
                 .findOne(5000); // 等待最多5秒

    if (avatar) {
        // 检查该头像的父布局或周围是否有用户名文本,以增加准确性
        let parent = avatar.parent();
        if (parent && parent.childCount() > 1) {
            // 如果找到了头像,就点击它
            if (avatar.click()) {
                toast("正在访问主页...");
                
                // 在主页停留5-8秒
                sleep(random(5000, 8000));
                
                // 返回
                back();
                return true;
            }
        }
    }

    // 如果没找到符合条件的头像,则滑动屏幕
    toast("未找到可点击头像,准备滑动...");
    swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.2, 500);
    return false;
}

// 主函数
function main() {
    // 确保无障碍服务已开启
    auto.waitFor();

    // 启动抖音
    launchDouyin();

    // 循环访问主页
    for (let i = 0; i < 100; i++) { // 访问100次
        toast("第 " + (i + 1) + " 次访问主页");

        // 调用访问主页函数
        let visited = visitUserProfile();

        // 如果成功访问了一次,可以随机延时
        if (visited) {
            sleep(random(2000, 4000));
        } else {
            // 如果没有找到,可能是界面卡住,尝试再次启动
            sleep(2000);
        }

        // 防止无限循环占用资源
        if (i % 10 == 9) {
            toast("已完成10次访问,稍作休息...");
            sleep(5000);
        }
    }

    toast("任务完成!");
}

// 启动主函数
main();

脚本说明

  • 兼容性: 此脚本基于控件识别,对抖音版本和机型有一定依赖。如果抖音 UI 发生重大变化,可能需要调整 className 或添加更精确的 text()desc() 等筛选条件。
  • 稳定性: 使用了 auto.waitFor() 来确保无障碍权限,使用 .findOne(5000) 设置超时避免卡死。
  • 反检测: 添加了 random() 函数让每次停留和等待的时间不固定,看起来更
ℹ️ 本回答由 AI 生成,内容仅供参考