请按照以下操作步骤,帮忙编写一个脚本
自动解锁手机,打卡APP“小盈办公”,自动登录,点击“考勤打卡”,点击“下班打卡”

HAMI_6093083993 · 11 小时前

回答

Hamibot AI
1
· 11 小时前
// 文档地址 https://docs.hamibot.com/

// 1. 解锁手机(假设使用简单的滑动解锁)
function unlockPhone() {
    // 确保屏幕已唤醒
    if (!device.isScreenOn()) {
        device.wakeUp();
        sleep(1000);
    }
    
    // 执行滑动解锁,从 (100, 800) 滑动到 (1000, 800),耗时 500ms
    swipe(100, 800, 1000, 800, 500);
    sleep(2000); // 等待解锁完成
}

// 2. 启动“小盈办公”APP
function launchApp() {
    var appName = "小盈办公";
    var packageName = getPackageName(appName);
    
    if (packageName) {
        app.launch(packageName);
        toastLog("正在启动“" + appName + "”");
        sleep(3000); // 等待应用启动
    } else {
        toastLog("未找到“" + appName + "”应用,请检查是否已安装。");
        hamibot.exit();
    }
}

// 3. 自动登录(假设账号密码输入框和登录按钮有明确的控件标识)
function login() {
    // 输入用户名
    setText(0, "你的用户名"); // 第一个输入框输入用户名
    sleep(500);
    
    // 输入密码
    setText(1, "你的密码"); // 第二个输入框输入密码
    sleep(500);
    
    // 点击登录按钮
    if (text("登录").exists()) {
        text("登录").findOne().click();
        toastLog("正在登录...");
        sleep(3000); // 等待登录完成
    } else {
        toastLog("未找到登录按钮,请确认页面是否正确。");
        hamibot.exit();
    }
}

// 4. 点击“考勤打卡”
function goToAttendance() {
    if (text("考勤打卡").exists()) {
        text("考勤打卡").findOne().click();
        toastLog("进入考勤打卡页面");
        sleep(2000);
    } else {
        toastLog("未找到“考勤打卡”入口,请确认页面是否正确。");
        hamibot.exit();
    }
}

// 5. 点击“下班打卡”
function clockOut() {
    if (text("下班打卡").exists()) {
        text("下班打卡").findOne().click();
        toastLog("已点击“下班打卡”");
        sleep(2000);
        
        // 可以在此处添加判断是否打卡成功的逻辑
        if (text("打卡成功").exists() || desc("打卡成功").exists()) {
            toastLog("下班打卡成功!");
        } else {
            toastLog("下班打卡可能未成功,请手动确认。");
        }
    } else {
        toastLog("未找到“下班打卡”按钮,请确认是否已到达打卡页面。");
        hamibot.exit();
    }
}

// 主流程控制
auto.waitFor(); // 等待无障碍服务开启

unlockPhone();      // 解锁手机
launchApp();        // 启动应用
login();            // 登录账户
goToAttendance();   // 进入考勤打卡
clockOut();         // 下班打卡

// 结束脚本
toastLog("脚本执行完毕");
hamibot.exit();

使用说明:

  1. 权限设置:确保 Hamibot 已获取“无障碍服务”和“设备弹出层”权限。
  2. 个性化配置
    • "你的用户名""你的密码" 替换为真实的账号信息。
  3. 兼容性调整
    • 若“小盈办公”APP 的界面元素发生变化(如文字标签不同),请根据实际界面修改 text("XXX") 中的内容。
    • 可使用 Hamibot 的“布局分析”工具来精确定位控件。

注意事项:

  • 该脚本假设使用的是滑动解锁方式,若为密码/指纹解锁需另行处理。
  • 建议在非敏感环境下测试运行,避免账号安全风险。
  • 如遇验证码或二次验证,请手动完成后再运行脚本。
ℹ️ 本回答由 AI 生成,内容仅供参考