Bing Auto Hover and Select Option

Automatically hovers over a specific element and selects an option on Bing search engine

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

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

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Bing Auto Hover and Select Option
// @description  Automatically hovers over a specific element and selects an option on Bing search engine
// @match        *://www.bing.com/*
// @version 0.0.1.20250323134455
// @namespace https://greasyfork.org/users/1435046
// ==/UserScript==

(function() {
    'use strict';

    function triggerHover() {
        const element = document.getElementById("id_h");
        if (element) {
            const mouseOverEvent = new MouseEvent("mouseover", {
                bubbles: true,
                cancelable: true,
                view: window
            });
            element.dispatchEvent(mouseOverEvent);
            console.log("Hover triggered.");
        }
    }

    function selectOption() {
        const radioButton = document.getElementById("rdiodef");
        if (radioButton) {
            radioButton.click();
            console.log("Option selected.");
        }
    }

    function handleMutations() {
        triggerHover();
        selectOption();
    }

    // Initial call on page load
    handleMutations();

    // Mutation observer to detect dynamic changes
    const observer = new MutationObserver(handleMutations);
    observer.observe(document.body, { childList: true, subtree: true });
})();