创建一个每9分钟上滑一次的脚本

HAMI_7047447328 · 3 天前

回答

Hamibot AI
1
· 3 天前

以下是为你编写的每9分钟自动上滑一次的Hamibot脚本。脚本采用 while 循环配合 sleep 实现定时,避免单线程阻塞导致定时器失效的问题。

// 文档地址 https://docs.hamibot.com/
// 获取设备屏幕宽高
var width = device.width;
var height = device.height;

// 设置上滑起点(屏幕中下部)和终点(屏幕中上部)
var startX = width / 2;
var startY = height * 0.8;
var endX = width / 2;
var endY = height * 0.2;
var swipeDuration = 500; // 滑动动画耗时(毫秒)

// 9分钟转换为毫秒
var interval = 9 * 60 * 1000;

while (true) {
    // 执行上滑
    swipe(startX, startY, endX, endY, swipeDuration);
    // 等待滑动动作完成
    sleep(swipeDuration + 200);
    // 等待9分钟
    sleep(interval);
}

关键说明:

  1. 定时机制:Hamibot 脚本运行在单线程环境中,若使用 setIntervalsetTimeout,主线程的耗时操作会导致定时器延迟或无法触发。采用 while(true) + sleep() 是官方推荐的稳定周期性任务实现方式。
  2. 坐标适配:通过 device.widthdevice.height 动态计算滑动坐标,兼容不同分辨率设备。若目标App的滑动区域特殊,可调整 startYendY 的比例(例如 height * 0.9height * 0.1)。
  3. 运行要求:确保 Hamibot 已开启无障碍服务,并在需要上滑的界面前台运行该脚本。部分系统可能限制后台脚本执行,建议在 Hamibot 任务设置中开启“保持唤醒”或“前台服务”。
  4. 停止脚本:在 Hamibot 控制台或系统任务管理中点击停止即可安全中断循环。

如需添加界面检测、滑动失败重试或日志记录功能,可提供具体场景,我将为你补充对应逻辑。

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