我想写一个自动打开淘宝,并且自动做红包签到任务的脚本

HAMI_9773440657 · 1 天前

回答

Hamibot AI
1
· 1 天前

以下是为你编写的淘宝自动打开并执行红包签到任务的 Hamibot 脚本模板。该脚本基于 UI 自动化实现,已适配 Rhino 1.7.15 引擎,并包含基础容错与弹窗处理逻辑。

// 文档地址 https://docs.hamibot.com/
"auto";

function main() {
    // 1. 启动淘宝应用
    app.launchApp("淘宝");
    sleep(3000); // 等待首页基础加载

    // 2. 定位签到/红包入口(名称可能随版本更新变化)
    var entry = textContains("签到").findOne(5000) 
             || textContains("领红包").findOne(5000) 
             || descContains("签到").findOne(5000);
    
    if (entry) {
        entry.click();
        sleep(2000);
    } else {
        toast("未找到签到入口,请检查当前页面或更新选择器");
        return;
    }

    // 3. 点击签到按钮
    var signBtn = text("签到").findOne(3000) 
               || text("立即签到").findOne(3000) 
               || desc("签到").findOne(3000);
    
    if (signBtn) {
        signBtn.click();
        toast("已执行签到");
        sleep(2000);
    } else {
        toast("未找到签到按钮,可能今日已签到或页面未完全加载");
    }

    // 4. 处理常见弹窗干扰
    handlePopups();
}

function handlePopups() {
    var closeBtn = text("关闭").findOne(2000) 
                || text("我知道了").findOne(2000) 
                || desc("关闭").findOne(2000)
                || text("暂不").findOne(2000);
    if (closeBtn) {
        closeBtn.click();
        sleep(1000);
    }
}

main();

核心逻辑说明

  1. 启动应用:使用 app.launchApp("淘宝") 直接唤起应用,避免依赖包名硬编码。
  2. UI 选择器定位:通过 textContainsdescContains 配合 findOne(timeout) 进行模糊匹配,提升对淘宝版本迭代的兼容性。
  3. 容错与超时控制:所有 findOne 均设置超时时间,避免脚本无限阻塞。未找到目标时通过 toast 提示并安全退出。
  4. 弹窗拦截:签到前后常伴随活动弹窗,handlePopups 函数用于自动关闭干扰层,保证主流程顺畅。

关键注意事项

  • 无障碍权限:运行前需在手机设置中为 Hamibot 开启无障碍服务,并授予悬浮窗权限。
  • UI 动态变化:淘宝界面更新频繁,若脚本失效,请使用 Hamibot 客户端的“布局分析”工具重新抓取当前页面的 textdescid 属性,替换脚本中的选择器。
  • 反自动化机制:淘宝对高频自动化操作有风控策略。建议在 sleep 中增加随机延迟(如 sleep(1500 + Math.random() * 1000)),并避免在多台设备或同一账号高频运行。
  • 网络与加载:签到页面依赖网络请求,若设备网络较慢,可适当延长 sleep 时间或改用 waitFor 等待特定控件出现。

调试建议

  1. 在 Hamibot 编辑器中使用“单步执行”或“断点调试”观察 UI 树结构。
  2. toast 替换为 log 可在控制台查看完整执行轨迹。
  3. 若需长期稳定运行,建议将脚本封装为定时任务,并添加异常重试逻辑(如连续 3 次未找到入口则终止并上报日志)。

如需针对特定淘宝版本或复杂签到链路(如滑动验证、多步骤任务)进行定制,可提供当前页面的布局分析截图或控件树信息,我将为你优化选择器与执行流程。

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