使用 JavaScript 单击按钮或在鼠标的当前位置使 Google Colab notebook 保持活动状态

Clicking on a button or at the current position of mouse using JavaScript to keep Google Colab notebook alive

我试图让 Google Colab 笔记本存活几个小时,即使我出去一段时间也是如此。不知道的人应该只知道,如果您不手动 干预 那么进程就会停止,您的所有工作都会丢失。

我想让我的鼠标在当前位置持续点击12小时,间隔15分钟。这对我来说是最好的情况。另外,如果我可以在不影响鼠标位置的情况下上下滚动一点,那就太好了。显然,我确实不知道该怎么做,所以我选择了其他选项作为 selectiong 一个可点击的元素并点击它一段时间。如果它是 Python 和 Selenium 我会做的但不知何故我可以 select 一个位置并写一个代码为:

run_buttons = document.getElementsByTagName('colab-run-button')

for (i = 0; i < 50; i++) {setTimeout(() => { run_buttons[run_buttons.length-1].click() ; }, 100);
}

问题是点击太快了,没有时间间隔。我如何应用 Python 样式 time.sleep() 以便控制台内的代码以 20 分钟的间隔单击按钮 12 小时。

首先,您不会等待给定的 timeout 完成后再排队下一次超时。您将需要正确处理超时的异步行为才能完成您想要的。

相反,您可以使用 setInterval 而不是 setTimeout 并注意这两个函数都需要 ms 毫秒而不是 s 秒。 setInterval 在指定的 ms 之后调用给定的 callback 重复 。所以:

var keepAliveInterval = setInterval(() => { play_buttons[43].click() ; }, 15 * 60 * 1000); // 15 * 60 * 1000 = 15 minutes in milliseconds

要停止此间隔,您可以设置一个超时:

setTimeout(() => { clearInterval(keepAliveInterval) }, 24 * 60 * 60 * 1000); // 24 * 60 * 60 * 1000 = 24 hours in milliseconds