做一个自动考勤打卡的脚本

已存档
killz · 23 天前

回答

Hamibot AI
1
· 23 天前

我可以帮你创建一个基础的自动考勤打卡脚本框架。请注意,你需要根据自己使用的具体考勤应用(如钉钉、企业微信等)调整UI选择器和操作逻辑。

// 文档地址 https://docs.hamibot.com/

// 请求必要的权限
auto.waitFor();

// 检查无障碍服务是否开启
if (!auto.service) {
    toast("请先开启无障碍服务");
    exit();
}

// 检查屏幕是否亮起
if (!device.isScreenOn()) {
    device.wakeUp();
    sleep(1000);
}

// 解锁屏幕(如果有密码需要自行处理)
if (device.getScreenTimeout() > 0) {
    // 这里需要根据你的锁屏方式自定义解锁逻辑
}

// 启动考勤应用(以钉钉为例)
launchApp("钉钉");
sleep(3000);

// 等待应用加载完成
waitForActivity("com.alibaba.android.rimet.biz.LaunchHomeActivity");
sleep(2000);

// 查找并点击工作台
var workbench = text("工作台").findOne(5000);
if (workbench) {
    click(workbench.bounds().centerX(), workbench.bounds().centerY());
    sleep(2000);
}

// 查找考勤打卡入口
var attendance = text("考勤打卡").findOne(5000);
if (attendance) {
    click(attendance.bounds().centerX(), attendance.bounds().centerY());
    sleep(3000);
}

// 执行打卡操作
var clockInBtn = text("上班打卡").findOne(5000);
if (clockInBtn && clockInBtn.clickable()) {
    click(clockInBtn.bounds().centerX(), clockInBtn.bounds().centerY());
    toast("打卡成功");
} else {
    toast("未找到打卡按钮或已打卡");
}

// 返回桌面
home();

使用说明:

  1. 你需要根据实际使用的考勤应用调整应用包名和界面元素选择器
  2. 如果应用需要登录,需要在脚本开始前确保已登录
  3. 建议先使用悬浮窗调试功能确认UI元素的准确位置
  4. 可以设置定时任务在特定时间自动运行此脚本

你还需要在Hamibot应用中配置相应的定时任务来在上班时间自动执行这个脚本。

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