触发鼠标点击和随机间隔

苏博德

我正在尝试自动化一项任务,在该任务中,我必须连续不断地在手形图标上单击鼠标左键。我能够在设定的时间范围内执行此操作,例如32秒和756毫秒,但是我需要在随机时间范围内执行此操作。例如,如果我们可以在每次单击鼠标左键后增加2-3秒。谁能指导我如何使点击间隔随机化?我正在使用Chrome。

setInterval(function(){ 
    $( "[id^='hand_'].handIcon").trigger('click');
}, 32756);
栾尼科

即使您在setInterval上使用Math.random,它也只会使用该特定的随机值注册一次。

有两种选择:

  • 运行一次,然后重新注册一个新的随机时间范围(使用clearInterval删除旧的时间范围)
  • 每x ms运行一次,并添加随机检查以查看是否运行

例如。第二种情况:

setInterval(function() { 
  if (Math.random() > 0.8)
    $( "[id^='hand_'].handIcon").trigger('click');
}, 200);

这将每200ms运行一次,但是只有0.8次,例如,平均每250ms运行一次,但是是随机的。当然,您可以调整数字。

第一个示例,因为我今天确实很受启发(rs):

let action = () => $( "[id^='hand_'].handIcon").trigger('click');
let old, register = () => {
  if (old) clearInterval(old);
  old = setInterval(() => {
    action();
    register(); // re-register
  }, 32756 + 3000*Math.random() - 1500)
};
register();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章