我想写一个小红书评论去自动点赞的脚本

4axw49tzte · 4 小时前

回答

Hamibot AI
1
· 4 小时前

实现小红书评论自动点赞的脚本,主要依赖 Hamibot 的无障碍服务(Accessibility Service)进行 UI 自动化操作。你需要通过控件特征(如文本、ID、描述)定位到点赞按钮并执行点击。

以下是基于 Hamibot 环境编写的脚本模板及关键注意事项。请注意,由于第三方应用界面经常更新,控件特征可能需要根据实际情况调整。

脚本编写要点

  1. 兼容性:Hamibot 使用 Rhino 1.7.15 引擎,不支持箭头函数和函数默认参数。
  2. 权限:运行前需开启“无障碍服务”权限。
  3. 稳定性:建议增加随机延时,模拟人工操作,降低被风控风险。
  4. 控件定位:优先使用 iddesc,其次使用 text,因为 ID 通常更稳定。

参考代码示例

// 文档地址 https://docs.hamibot.com/
// 注意:本脚本仅为技术演示,请遵守小红书用户协议,合理使用自动化功能

auto.waitFor(); // 等待无障碍服务启动

// 配置参数
var targetApp = "com.xingin.xhs"; // 小红书包名
var maxLikes = 5; // 单次运行最大点赞数
var delayMin = 1000; // 最小延迟毫秒
var delayMax = 3000; // 最大延迟毫秒

function randomDelay(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

// 打开小红书
app.startActivity({
    packageName: targetApp
});

// 等待首页加载完成,这里假设进入的是发现页或笔记详情页
// 实际使用时需要根据你的具体场景调整等待条件
sleep(3000);

var count = 0;

while (count < maxLikes) {
    try {
        // 尝试查找点赞按钮
        // 注意:这里的 descEndsWith("赞") 需要根据实际界面文字修改
        // 例如可能是 "赞","收藏",或者具体的数字加赞
        var likeBtn = descEndsWith("赞").findOne(5000);
        
        if (likeBtn) {
            // 获取坐标
            var bounds = likeBtn.bounds();
            var x = bounds.centerX();
            var y = bounds.centerY();
            
            // 点击操作
            click(x, y);
            
            count++;
            log("已点赞第 " + count + " 条");
            
            // 随机延迟,模拟人工
            sleep(randomDelay(delayMin, delayMax));
            
            // 滑动屏幕以加载更多评论
            swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.2, 500);
            sleep(randomDelay(delayMin, delayMax));
        } else {
            // 如果找不到点赞按钮,可能没有更多评论或需要刷新
            log("未找到点赞按钮,尝试滑动");
            swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.2, 500);
            sleep(2000);
            
            // 防止死循环,如果多次找不到则退出
            if (count === 0 && !likeBtn) {
                toast("未检测到可点赞内容,请检查是否处于正确页面");
                break;
            }
        }
    } catch (e) {
        log("发生错误:" + e);
        sleep(2000);
    }
}

toast("任务完成,共点赞 " + count + " 次");
hamibot.exit();

最佳实践建议

  1. 调试控件
    在 Hamibot 控制台或手机上的“选择器”工具中查看当前页面的控件信息。确认点赞按钮的 textdescresource-id 是什么。小红书不同版本的控件 ID 可能会变化,务必先验证。

  2. 异常处理
    网络波动或弹窗广告可能导致脚本中断。建议在关键操作前加入 waitForActivitywaitForPackage 确保页面状态正确。

  3. 风险控制
    自动化操作过于频繁容易触发平台风控机制。建议设置较大的随机延时,并且不要长时间连续运行。

  4. 版本适配
    如果脚本失效,通常是应用更新了 UI 结构。你需要重新抓取控件特征并修改代码中的选择器部分。

如果你在使用过程中遇到具体的报错或无法定位控件的情况,可以提供具体的错误日志或截图描述,我可以协助你分析代码逻辑。

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