SBAuto Randomized (2025 Update)

Automatically answers Swagbucks surveys with randomized dropdown options and submits them until no questions remain. Now more compatible with current site structure (2025). 🌀

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         SBAuto Randomized (2025 Update)
// @namespace    http://tampermonkey.net/
// @version      2.3
// @description  Automatically answers Swagbucks surveys with randomized dropdown options and submits them until no questions remain. Now more compatible with current site structure (2025). 🌀
// @author       Thaswasupbreh
// @match        *://www.swagbucks.com/surveys*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const interval = 1000; // Time interval in milliseconds

    function clickRandomDropdownOption() {
        // Find a visible dropdown
        const dropdown = document.querySelector("div[class*='DropdownContainer'], div[class*='questionDropdown']");
        if (dropdown) dropdown.click();

        // Find options inside an open dropdown
        const options = document.querySelectorAll("div[class*='DropdownOptions'] span, div[class*='questionDropdownOptions'] span");
        if (options.length > 0) {
            const randomIndex = Math.floor(Math.random() * options.length);
            options[randomIndex].click();
        }
    }

    function clickSubmitButton() {
        // Looks for button that continues to next question
        const button = document.querySelector("button[class*='CTA'], button[class*='continue'], button[class*='Next']");
        if (button) button.click();
    }

    function autoAnswer() {
        try {
            clickRandomDropdownOption();
            clickSubmitButton();
        } catch (e) {
            console.error("SBAuto Error:", e);
        }
    }

    window.addEventListener('load', () => {
        setInterval(autoAnswer, interval);
    });
})();