繁体   English   中英

Tampermonkey 脚本不断点击按钮

[英]Tampermonkey script keeps clicking on button

我对 Javascript/Tampermonkey 完全陌生。 我正在尝试制作一个 Tampermonkey 脚本,该脚本在页面加载后立即(快速)在特定页面按钮上单击一次。 鼠标点击后,网站要求验证。 验证必须手动完成。

这是网站上按钮的代码:

<button class="btn  btn--arrow  push-right  js-continue-scrollposition" type="submit" id="btnSave" name="Command" value="plaats">Send</button>

这是我在 Tampermonkey 中的脚本:

// ==UserScript==
// @name         Test
// @namespace    Test
// @version      1
// @description  test
// @author       Me
// @match        LINK OF THE WEBSITE HERE
// @grant        none
// ==/UserScript==
(function() {
document.querySelector("#btnSave").click();

})();

这段代码似乎工作正常,但只有一个问题。 该脚本不断向网站上的按钮发送垃圾邮件。 我只想在按钮上生成一次(快速)鼠标单击。 之后需要停止或暂停脚本,以便我进行验证。 忙了一整天,找不到解决办法? 也许有人可以帮忙?

请记住,我对此完全陌生。 这是我使用所有这些的第一天。

解决这个问题的一种方法。

制作一个名为“isClicked”的 boolean 并将其设置为 false,然后在运行代码时检查脚本是否单击了按钮,如果是,则将 boolean 更改为 true。 然后停止 function。

// ==UserScript==
// @name         Test
// @namespace    Test
// @version      1
// @description  test
// @require      https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// @author       Me
// @match        LINK OF THE WEBSITE HERE
// @grant        none
// ==/UserScript==

var $ = window.$;                //  Avoids warnings in TamperMonkey
var isClicked = false;

window.setInterval(function(){
   if(!isClicked){               //  !isClicked checks if the boolean is not true
      $("#btnSave").click();
   }
}, 1000);                        //  1000 stands for the refresh rate of this function in milliseconds

$("#btnSave").click(function(){  //  Functions when button is clicked
   isClicked = true;
}); 

此答案使用jQuery(JavaScript 库)来简化 javascript。

注意:您必须通过以下方式在 Meta/Header“UserScript”中导入 jQuery 库:

// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js

暂无
暂无

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

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