繁体   English   中英

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

[英]How to use autoclick a button as soon as it pops up on a browser with tampermonkey

所以我看到了很多关于这个的问题,但我认为我没有看到一个已经解决的问题。 我也是 JS、jQuery 的超级新手,我之前从未制作过用户脚本,所以我仍然不知道很多单词或概念。 因此,请随时为我将其降低:)。

我想自动点击一个网站上的特定按钮,该按钮只弹出一瞬间。
很多人都试图点击同一个按钮,所以你必须快如闪电。

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

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

我在挣扎什么:

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

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

3. 页面不断刷新,但我想确保脚本会一直尝试点击按钮直到它弹出,然后在点击后停止。

我到目前为止的尝试:

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

  1. 如何自动单击输入按钮

  2. 自动点击弹出按钮

  3. 扩展 Autoclicker(顺便说一句真的很好): https ://chrome.google.com/webstore/detail/auto-clicker-autofill/iapifmceeokikomajpccajhjpacjmibe ?hl= en

  4. 扩展 imacros(也不错): https ://chrome.google.com/webstore/detail/imacros-for-chrome/cplklnmnlbnpmjogncfgfijoopmnlemp ?hl= en#:~:text=You%20can%20combine%20iMacros%20with,iMacros% 20for%20Firefox%20without%20changes

我尝试使用 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"]

按钮选择器: #queue-0-1394263709

按钮: <a href="#" data="[object Object]" id="queue-0-1394263709" name="queue_item">Start</a>

PS:据我所知,该按钮没有类。 我真的很感激你们的帮助,谢谢。

TL;DR我想在按钮弹出脚本后立即自动单击它

我通过jsfiddle运行了你的代码并注意到了一些事情。 你有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())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM