显示脚本运行错误咋回事

HAMI_4746350343 · 1 天前

回答

Hamibot AI
1
· 1 天前

脚本运行时显示错误通常是由以下几个常见原因导致的,你可以逐一排查:

  1. 语法或逻辑错误
    脚本中存在 JavaScript 语法错误(如括号不匹配、缺少分号、变量未定义等)或逻辑问题(如调用不存在的方法)。请检查控制台输出的具体错误信息,通常会提示出错的行号和错误类型。

  2. 权限未开启
    Hamibot 需要“无障碍服务”权限才能正常运行脚本。如果未启用,请进入系统设置 → 辅助功能 → 开启 Hamibot 的无障碍服务。

  3. 目标应用未就绪
    如果脚本使用了 waitForPackage()waitForActivity() 等等待函数,但目标应用未启动或界面未切换到对应页面,可能导致后续操作失败。确保目标应用已打开且处于前台。

  4. 坐标适配问题
    如果使用基于坐标的自动化(如 click(x, y)),而设备分辨率与脚本设定的 setScreenMetrics() 不一致,可能导致点击位置偏移甚至报错。建议在脚本开头正确设置屏幕尺寸:

    // 文档地址 https://docs.hamibot.com/
    setScreenMetrics(1080, 1920); // 根据实际设备修改
    
  5. API 版本或 Hamibot 版本不满足要求
    若脚本中调用了 requiresApi()requiresHamibotVersion(),而当前设备系统版本或 Hamibot 版本过低,会直接抛出异常。请确认你的设备满足脚本要求。

  6. 运行环境被中断
    在脚本执行过程中,若手动操作设备、锁屏、后台被清理或省电策略限制,都可能造成脚本中断或出错。请参考 保持 Hamibot 运行 设置自启动和关闭电池优化。

  7. UI 元素未找到
    使用控件查找相关函数(如 text("登录").find()) 时,若界面上没有匹配元素,默认会抛出异常。可添加判断避免崩溃:

    // 文档地址 https://docs.hamibot.com/
    if (text("登录").exists()) {
        text("登录").click();
    }
    

建议你查看 Hamibot 控制台输出的完整错误日志,根据具体错误信息进行修复。如果仍然无法解决,可以将错误信息发邮件至 support@hamibot.cn 获取技术支持。

ℹ️ 本回答由 AI 生成,内容仅供参考