javascript 更快地单击A按钮

ycggw6v2  于 2023-01-29  发布在  Java
关注(0)|答案(2)|浏览(158)

我是新来的,可能听起来很傻,但我需要帮助。我们正在玩一个点击游戏在一个网站上的一个按钮将显示在随机时间,前7名玩家点击它将显示为该轮的赢家。我写了点击函数bellow,并始终在我的Chrome控制台上使用它。

(function () {
  setInterval(() => {
    const button = document.querySelector(“.click-button);
    if (!button) return;
button.click();
   }, 5);
})();

我玩它与移动的网络的50 - 70 mbps的速度,是前5名,直到当其他玩家开始使用VPS机器有超过4Gbps的互联网速度.我现在有一个VPS运行Windows Server 2022,但仍然不能表现得更好.所以我的问题是,是我的VPS速度比他们慢,还是我的笔记本电脑比他们的规格少,还是我需要一个比上面更好的JavaScript代码?有人应该请帮助我。谢谢。
在VPS服务器上运行上述代码,通过浏览器控制台下载速度为4.3Gbps,上传速度为4.1Gbps,点击速度更快

ia2d9nvy

ia2d9nvy1#

不知道为什么你的问题被否决了。也许如果人们觉得这不是编程问题而是关于网络的问题...
通过将函数和按钮缓存在间隔之外,您的代码可以稍快一些

(function() {
  const button = document.querySelector(".click-button");
  const buttonClick = () => button.click();
  if (button) setInterval(buttonClick, 5);
})();
icnyk63a

icnyk63a2#

除了轮询按钮之外,您还可以使用MutationObserver,它会在按钮更改或插入到文档中时通知您,除非您能够找到触发按钮激活的事件,否则这可能是您所能做到的最快的方法。
假设将按钮插入<div id="button-container"></div>

const callback = mutations => {mutations.forEach(m => m.addedNodes.forEach(node => node.tagName === 'BUTTON' && node.click()))}
const observer = new MutationObserver(callback)
const container = document.getElementById('button-container')
observer.observe(container, {childList: true})

看看这个codepen
forEach()替换为for将为您提供几纳秒的额外时间。

相关问题