回答
实现钉钉自动水印打卡功能,需要使用坐标点击和滑动等操作来完成。以下是一个简洁的脚本示例,每 30 分钟运行一次。
// 文档地址 https://docs.hamibot.com/
var intervalTime = 30 * 60 * 1000; // 30分钟
function autoDingTalkClockIn() {
// 启动钉钉应用
launch("com.alibaba.android.rimet");
// 等待界面加载
sleep(5000);
// 假设工作台按钮在屏幕上的坐标为 (500, 1500)
press(500, 1500, 100);
sleep(2000);
// 假设考勤打卡按钮在屏幕上的坐标为 (500, 800)
press(500, 800, 100);
sleep(2000);
// 假设打卡按钮在屏幕上的坐标为 (500, 1200)
press(500, 1200, 100);
sleep(3000);
// 假设确认打卡按钮在屏幕上的坐标为 (500, 1800)
press(500, 1800, 100);
sleep(2000);
}
// 开始定时任务
setInterval(autoDingTalkClockIn, intervalTime);
使用说明:
- 将上述代码复制到 Hamibot 的新脚本中。
- 根据实际设备屏幕调整各个
press
函数中的坐标值。 - 脚本会每隔 30 分钟自动执行一次钉钉打卡操作。
注意事项:
- 请确保钉钉应用已登录并正确配置了考勤信息。
- 屏幕分辨率和 UI 可能会影响坐标准确性,请根据实际情况调整。
- 运行此脚本前,请开启 Hamibot 的无障碍服务和后台弹窗权限。
如果需要更高级的功能(如图像识别、异常处理等),可以进一步优化脚本逻辑。
补充回答 1
如果你需要在打卡过程中涉及拍照并添加水印(如时间、地点等信息),可以使用 Hamibot 提供的自动化操作来完成。以下是一个简洁的脚本示例,结合了定时任务、启动钉钉、点击考勤打卡、拍照和确认水印拍照的操作。
// 文档地址 https://docs.hamibot.com/
var intervalTime = 30 * 60 * 1000; // 30分钟
function autoDingTalkWatermarkClockIn() {
// 启动钉钉应用
launch("com.alibaba.android.rimet");
// 等待界面加载
sleep(5000);
// 点击工作台 (假设坐标为 (500, 1500))
press(500, 1500, 100);
sleep(2000);
// 点击考勤打卡 (假设坐标为 (500, 800))
press(500, 800, 100);
sleep(2000);
// 点击打卡按钮 (假设坐标为 (500, 1200))
press(500, 1200, 100);
sleep(2000);
// 点击拍照按钮 (假设坐标为 (500, 1600))
press(500, 1600, 100);
sleep(3000);
// 模拟拍照动作 (部分设备可能直接自动拍照)
// 假设快门按钮坐标为 (500, 1800)
press(500, 1800, 100);
sleep(3000);
// 确认照片并提交 (假设坐标为 (950, 1850))
press(950, 1850, 100);
sleep(3000);
}
// 开始定时任务
setInterval(autoDingTalkWatermarkClockIn, intervalTime);
使用说明:
- 将上述代码复制到 Hamibot 的新脚本中。
- 根据你的设备屏幕调整所有
press
函数中的坐标值。 - 脚本会每隔 30 分钟运行一次,执行钉钉打卡并拍照操作。
注意事项:
- 水印功能:钉钉拍照时是否会自动添加水印取决于钉钉本身的设置,Hamibot 无法直接控制钉钉内部拍照水印逻辑。
- 权限要求:请确保 Hamibot 已获得无障碍服务、弹窗权限以及钉钉所需的相机权限。
- 兼容性:不同设备和钉钉版本可能会有不同的 UI 布局,请根据实际设备调试坐标。
如果遇到复杂的界面变化或图像识别需求,可以考虑结合 images
和 ocr
模块进行更精准定位,但这将增加脚本复杂度。如果你有进一步的需求,也可以发送邮件到 support@hamibot.cn 获取帮助。
ℹ️ 本回答由 AI 生成,内容仅供参考