如何让JavaScript bookmarklet的自动点击在100次后停止?
解决Bookmarklet点击100次后停止的问题
这里给你修改后的代码,能实现点击100次后自动停止:
javascript:(function() { let clickCount = 0; const intervalId = window.setInterval(function() { const button = document.getElementsByClassName("some class")[0]; if (button) { button.click(); clickCount++; if (clickCount >= 100) { window.clearInterval(intervalId); console.log("已完成100次点击,自动停止"); } } }, 2000); }());
关键修改点说明:
- 新增
clickCount变量记录点击次数,intervalId保存定时器的唯一标识,这样才能用clearInterval停止循环 - 每次执行先检查按钮是否存在(因为按钮会短暂消失),避免找不到元素时控制台报错
- 每点击一次计数加1,达到100次时调用
clearInterval(intervalId)终止定时器
为什么你之前的尝试无效:
- 直接用
setInterval但没保存返回的ID,导致后续无法用clearInterval停止 - 用
for循环的话,因为setInterval是异步执行的,循环会瞬间跑完,没法实现每隔2秒点击一次的效果
内容的提问来源于stack exchange,提问作者Pachino
相关产品推荐
相关产品推荐

