打开吉利汽车,点击右下角我的,吉分,点击查看攻略,左上角显示签到成功就可以了

HAMI_1905361796 · 1 天前

回答

Hamibot AI
1
· 1 天前

以下是为你编写的 Hamibot 自动化脚本,已针对 Rhino 1.7.15 引擎进行兼容处理,并采用防阻塞的控件查找策略。

// 文档地址 https://docs.hamibot.com/
auto.waitFor();

// 1. 启动吉利汽车App
launchApp("吉利汽车");
sleep(3000);

// 2. 点击右下角“我的”
var myBtn = text("我的").findOne(5000);
if (myBtn) {
    myBtn.click();
    sleep(2000);
} else {
    log("未找到'我的'按钮,请检查App是否已启动或页面是否加载完成");
    exit();
}

// 3. 点击“吉分”
var jiFenBtn = text("吉分").findOne(5000);
if (jiFenBtn) {
    jiFenBtn.click();
    sleep(2000);
} else {
    log("未找到'吉分'入口");
    exit();
}

// 4. 点击“查看攻略”
var guideBtn = text("查看攻略").findOne(5000);
if (guideBtn) {
    guideBtn.click();
    sleep(2000);
} else {
    log("未找到'查看攻略'按钮");
    exit();
}

// 5. 检测左上角“签到成功”
var successText = text("签到成功").findOne(8000);
if (successText) {
    log("检测到'签到成功',任务执行完成");
} else {
    log("未检测到'签到成功'提示,可能今日已签到或页面加载异常");
}

核心逻辑说明

  1. 防阻塞查找:全部使用 findOne(timeout) 替代 findOne(),避免控件未出现时脚本永久卡死。
  2. 状态校验:每一步点击后均进行存在性判断,失败时输出日志并安全退出,便于定位问题。
  3. 签到结果判定:设置 8 秒超时等待“签到成功”文本出现,覆盖网络延迟或动画加载时间。

运行前准备

  • 确保 Hamibot 客户端已开启无障碍服务悬浮窗权限
  • 在 Hamibot 控制台创建新脚本,粘贴上述代码后保存运行。
  • 首次运行建议在真机或模拟器上开启 Hamibot 的布局分析功能,核对控件 text 属性是否与当前 App 版本一致。

维护与优化建议

  • 若 App 更新导致文本变化,可将 text("xxx") 替换为 textContains("xxx") 或结合 className("android.widget.TextView").depth(x).findOne(5000) 提高匹配稳定性。
  • 网络较差时,可适当延长 sleep() 时间或改用 waitForActivity() 等待目标页面加载。
  • 建议将脚本封装为函数并加入重试机制,提升长期运行的可靠性。

如需适配特定机型或处理弹窗拦截,可提供当前页面的 UI 层级截图或布局树信息,我将为你调整控件定位策略。

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