ClickButton

Click on every button (or disguised button) containing the text inserted

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         ClickButton
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Click on every button (or disguised button) containing the text inserted
// @author       Leonard Okaz
// @match        http://*/*
// @match        https://*/*
// @grant        none
// ==/UserScript==

(function() {
    var button = buildButton();
    button.onclick = function() {
        var matchingText = prompt("Please enter the text", null);
        if(matchingText !== null) {
            var buttons = document.querySelectorAll("button, input[type=submit], a");
            for (var iButton = 0; iButton < buttons.length; iButton++) {
                var button = buttons[iButton];
                alert(button.type);
                if (!securedButton(button)) { alert("Security"); continue; }
                else if (button.type === "button" || (button.type === "" && button.href !== "")) {
                    if (button.innerHTML === matchingText) {
                        buttons[iButton].click();
                    }
                }
                else if (button.type === "submit") { //input[type=submit]
                    if (button.value === matchingText) {
                        buttons[iButton].click();
                    }
                }
            }
        }
    };
    document.body.insertBefore(button, document.body.firstChild);
})();

function buildButton() {
    var button = document.createElement("BUTTON");
    var buttonText = document.createTextNode("ClickButton script Tampermonkey");
    button.appendChild(buttonText);
    button.style.background = "#8A2BE2";
    button.style.color = "white";
    button.style.position = "relative";
    button.style.zIndex = "1000";
    return button;
}

// Check if the button is not hidden and clickable, otherwise it can become a source of hack
function securedButton(button) {
    if (button.style.display !==  "none") {
        return true;
    }
    if (buttons[iteratorButton].style.opacity ===  "1" || (buttons[iteratorButton].style.opacity === "" && buttons[iteratorButton].style.opacity !== "0")) {
        return true;
    }
    return false;
}