Javascript 如何使用tampermonkey在浏览器上弹出按钮后立即自动单击按钮

Javascript 如何使用tampermonkey在浏览器上弹出按钮后立即自动单击按钮,javascript,google-chrome-extension,greasemonkey,tampermonkey,userscripts,Javascript,Google Chrome Extension,Greasemonkey,Tampermonkey,Userscripts,所以我看到了很多关于这个的问题,但我认为我没有看到一个已经解决了。 我对JS、jQuery也非常陌生,而且我以前从未做过用户脚本,所以我仍然不知道很多单词或概念。 所以,请随时为我沉默:) 我想自动单击网站上仅在瞬间弹出的特定按钮。 成千上万的人试图点击同一个按钮,所以你必须闪电般地快 我想制作一个脚本来简化这个过程 我使用一个自动刷新扩展来帮助刷新我想与脚本一起使用的页面 我在挣扎什么: 1。使用tampermonkey和javascript/jquery创建用户脚本,以定位并自动单击按钮。

所以我看到了很多关于这个的问题,但我认为我没有看到一个已经解决了。 我对JS、jQuery也非常陌生,而且我以前从未做过用户脚本,所以我仍然不知道很多单词或概念。 所以,请随时为我沉默:)

我想自动单击网站上仅在瞬间弹出的特定按钮。
成千上万的人试图点击同一个按钮,所以你必须闪电般地快

我想制作一个脚本来简化这个过程

我使用一个自动刷新扩展来帮助刷新我想与脚本一起使用的页面

我在挣扎什么:

1。使用tampermonkey和javascript/jquery创建用户脚本,以定位并自动单击按钮。

2。按钮从一开始就不在页面上,只会弹出几秒钟。

3。页面不断刷新,但我想确保脚本将继续尝试单击按钮,直到它弹出,然后单击后停止。

我迄今为止的尝试:

我在stack上尝试了多个站点、扩展和问题:

  • 扩展自动单击器(顺便说一句,非常好):

  • 扩展imacros(也不错):

  • 我尝试使用TAMPERMONKEY和jQUERY制作程序: 我使用了一个Tampermonkey扩展,允许jQuery在所有页面上运行,仅供参考

        // ==UserScript==
    // @name         Autoclicker
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        Name
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        const clickButton = () => {
            const button =
                  document.querySelector("#queue-0-1394263709")
            if (button) button.click()
            else setTimeout(clickButton, 500)
        }
        window.addEventListener("DOMcontentloaded", clickButton)
    })();
    
    *这只是我用我知道的有限jQuery尝试了一些东西

    按钮详细信息: 按钮的Xpath:/*[@id=“queue-0-1319022196”]

    按钮选择器:
    #队列-0-1394263709

    按钮:

    PS:据我所知,按钮没有类别。 我非常感谢你们的帮助谢谢

    TL;DR我想在按钮弹出脚本时自动单击按钮

    我运行了您的代码并注意到了一些问题。您使用的是
    window.addEventListener(“DOMcontentloaded”,clickButton”)
    而不是
    window.addEventListener(“DOMcontentloaded,clickButton())
    。看到区别了吗

    const clickButton = () => {
            const button =
                  document.querySelector("#queue-0-1394263709")
            if (button) button.click()
            else setTimeout(clickButton, 500)
        }
        window.addEventListener("DOMcontentloaded", clickButton())
    
    我浏览了你的代码,发现了一些东西。您使用的是
    window.addEventListener(“DOMcontentloaded”,clickButton”)
    而不是
    window.addEventListener(“DOMcontentloaded,clickButton())
    。看到区别了吗

    const clickButton = () => {
            const button =
                  document.querySelector("#queue-0-1394263709")
            if (button) button.click()
            else setTimeout(clickButton, 500)
        }
        window.addEventListener("DOMcontentloaded", clickButton())
    

    嘿,伙计,谢谢你帮我。我尝试了你给出的解决方案,当我尝试在chrome开发工具上运行它时,它说未定义。当我在Tampermonkey上把它变成脚本时,它也没有运行。我的错是,我没有意识到没有类。把
    #queue-0-1394263709
    放在
    的位置。一些类
    。哦,我做了那部分,你写文档时有一个小的打字错误,所以我也写得很好,但遗憾的是仍然没有骰子。还有其他元素具有相同的Id吗?不,我不认为除了Id之外,可能还有其他的东西可以使用吗?嘿,伙计,谢谢你帮我出来我尝试了你给出的解决方案,当我尝试在chrome开发工具上运行它时,它说未定义。当我在Tampermonkey上把它变成脚本时,它也没有运行。我的错是,我没有意识到没有类。把
    #queue-0-1394263709
    放在
    的位置。一些类
    。哦,我做了那部分,你写文档时有一个小的打字错误,所以我也写得很好,但遗憾的是仍然没有骰子。有没有其他元素具有相同的Id?不,我不认为除了Id之外,我可能还可以使用其他元素?