创建一个视频号点赞列表页点击感谢脚本

jlx7ax9203 · 3 小时前

回答

Hamibot AI
1
· 3 小时前

你可以使用 Hamibot 的控件操作和自动化能力,在视频号点赞列表页中自动点击“感谢”按钮。以下脚本会遍历列表中的每一项,查找“感谢”控件并执行点击,同时处理滚动加载更多内容。

// 文档地址 https://docs.hamibot.com/
// 视频号点赞列表点击感谢

// 等待页面加载完成,可根据实际页面标题或控件调整
waitForPackage("com.tencent.mm");
sleep(2000);

// 循环处理,直到没有更多“感谢”按钮
var hasMore = true;
while (hasMore) {
    // 收集当前屏幕中所有“感谢”按钮
    var thanksButtons = text("感谢").find();

    if (thanksButtons.empty()) {
        // 没有找到“感谢”按钮,尝试向下滚动
        if (!scrollDown()) {
            hasMore = false;
            break;
        }
        sleep(1500);
        continue;
    }

    // 遍历点击每个“感谢”按钮
    var count = 0;
    while (thanksButtons.length > 0) {
        var btn = thanksButtons[0];
        if (btn.clickable()) {
            btn.click();
            sleep(800);
            count++;
        } else {
            // 如果按钮不可点击,尝试点击其父容器
            var parent = btn.parent();
            if (parent && parent.clickable()) {
                parent.click();
                sleep(800);
                count++;
            }
        }
        // 重新获取剩余按钮,因为点击后页面可能刷新或按钮消失
        thanksButtons = text("感谢").find();
    }

    // 如果当前屏幕没有点击任何一个按钮,尝试滚动
    if (count === 0) {
        if (!scrollDown()) {
            hasMore = false;
        }
        sleep(1000);
    }
}

// 辅助函数:向下滚动
function scrollDown() {
    // 使用可滚动的列表控件进行滚动
    var scrollable = className("android.widget.ListView").findOne(1000) ||
                     className("androidx.recyclerview.widget.RecyclerView").findOne(1000);
    if (scrollable) {
        scrollable.scrollForward();
        return true;
    }
    // 如果找不到滚动控件,尝试手势滑动
    swipe(device.width / 2, device.height * 0.7, device.width / 2, device.height * 0.3, 500);
    return true;
}

使用说明

  1. 打开视频号点赞列表页:在脚本运行前,先手动进入视频号点赞列表,或通过 app.startActivity 等方式跳转到对应页面。
  2. 控件定位:脚本默认使用 text("感谢") 查找按钮。如果按钮文字不同,请根据实际页面修改查找条件(例如使用 descid)。
  3. 滚动逻辑:若当前屏幕没有“感谢”按钮,脚本会尝试滚动列表;若滚动后仍然没有,则退出循环。
  4. 兼容性:代码避免使用箭头函数等 ES6 特性,确保在 Rhino 1.7.15 引擎中正常运行。

如果你需要更精确的控件定位,可以先用 Hamibot 的悬浮窗分析工具获取视频号点赞列表页的控件信息,然后替换脚本中的查找条件。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实