Cómo usar js para obtener el botón btn del cuadro emergente del siguiente código y hacer clic automáticamente en Aceptar en Oil Monkey

Yuxian: socio de contenido de CSDN, mentor estrella en ascenso de CSDN, 51CTO (celebridad destacada + blogger experto), entusiasta del código abierto de github (desarrollo secundario de código fuente go-zero, arquitectura back-end de juegos https://github.com/Peakchen)

Para obtener el botón del cuadro emergente desde el código usando JavaScript y hacer clic automáticamente en el botón Aceptar en el script de Grease Monkey, puede seguir los siguientes pasos:

  1. Detectar cuadros emergentes : utilice JavaScript alerto funciones para activar cuadros emergentes. Estas funciones muestran una ventana emergente que contiene un botón en el navegador.confirmprompt

  2. Capturar el cuadro emergente : utilice los eventos o funciones windowdel objeto para capturar el cuadro emergente. Cuando aparezca el cuadro emergente, se activará el evento o se podrá utilizar para escuchar el evento.onbeforeunloadwindow.addEventListeneronbeforeunloadwindow.addEventListenerbeforeunload

  3. Clic automático en el botón : en el controlador de eventos, use JavaScript para simular hacer clic en el botón del cuadro emergente. Puede seleccionar elementos del botón usando funciones como document.querySelectoro document.getElementByIdy clickactivar el evento de clic del botón usando métodos.

El siguiente es un código de muestra que demuestra cómo usar JavaScript para obtener el botón del cuadro emergente y hacer clic automáticamente en el botón Aceptar:

window.addEventListener('beforeunload', function(event) {
  // 检测到弹出框出现
  // 获取确定按钮元素
  var confirmButton = document.querySelector('.popup-button');

  // 模拟点击确定按钮
  confirmButton.click();

  // 可选:取消弹出框
  // event.preventDefault();
});

En el código anterior, beforeunloadse monitorea el evento y, cuando aparece el cuadro emergente, se ejecutará el controlador de eventos. En el controlador de eventos, haga clic en el botón Aceptar automáticamente document.querySelectorseleccionando el elemento del botón Aceptar y utilizando clickun método para activar el evento de clic del botón.

Explicación del principio:

Los cuadros emergentes generalmente se implementan mediante cuadros de diálogo nativos del navegador, como alerto confirmfunciones prompt. Estas funciones mostrarán un cuadro emergente en el navegador con opciones de botones como Aceptar y Cancelar. A través de JavaScript, puede capturar la apariencia de un cuadro emergente y simular hacer clic en un botón para implementar operaciones automatizadas.

Explicación del escenario de uso:

El escenario de hacer clic automáticamente en el botón del cuadro emergente generalmente ocurre cuando se requiere procesamiento o prueba automatizados de páginas web. Por ejemplo, en las pruebas de automatización de páginas web, se puede utilizar JavaScript para hacer clic automáticamente en el botón del cuadro emergente para probar la lógica interactiva del cuadro de diálogo. Otro escenario son los scripts de usuario (como Grease Monkey Script) que pueden usar JavaScript para hacer clic automáticamente en los botones emergentes para manejar mensajes o cuadros de diálogo de confirmación en páginas web específicas.

 

Para obtener el botón emergente de un código HTML determinado usando JavaScript y hacer clic automáticamente en el botón Aceptar en el script de Greasemonkey, puede seguir estos pasos:

Inyecte código JavaScript en Grease Monkey Script para obtener y haga clic en el botón. Asegúrese de haber creado un script en GreaseMonkey Script Manager para el sitio.

Utilice la función document.querySelector() para obtener el elemento del botón emergente a través de un selector CSS. En este caso, puede utilizar el selector ".layui-layer-btn0" para seleccionar el elemento con el nombre de clase "layui-layer-btn0".

Utilice el método HTMLElement.click() para simular operaciones de clic.

Aquí hay un código de muestra:

/ ==UserScript==
// @name         自动点击弹出框确定按钮
// @namespace    http://huaiyang.hnjichujiaoyu.com/
// @version      1.0
// @description  自动点击弹出框确定按钮
// @match        http://huaiyang.hnjichujiaoyu.com/*
// @grant        none
// ==/UserScript==
 
(function() {
    'use strict';
 
    // 等待弹出框加载完成
    setTimeout(function() {
        // 获取弹出框确定按钮元素
        var confirmButton = document.querySelector('.layui-layer-btn0');
 
        if (confirmButton) {
            // 模拟点击确定按钮
            confirmButton.click();
        }
    }, 3000); // 等待3秒后执行,可以根据需要调整等待时间
})();

Copie y pegue el código anterior en su secuencia de comandos de Grease Monkey y asegúrese de que la URL que coincide con la secuencia de comandos coincida con la URL que proporcionó. Después de guardar el script, al acceder a la URL, el script esperará 3 segundos y luego hará clic automáticamente en el botón Aceptar en el cuadro emergente. Puede ajustar el tiempo de espera según sea necesario para asegurarse de que la ventana emergente esté completamente cargada.

Si el cuadro emergente aparece en la página mediante carga asincrónica o carga diferida, es posible que deba actualizar la página para asegurarse de que el elemento del cuadro emergente se haya cargado para que se pueda obtener el botón y hacer clic correctamente.

Para agregar código de detección automática, puede usar un MutationObserver para escuchar los cambios en los elementos DOM y activar clics cuando aparece el cuadro emergente. Aquí está el código de muestra actualizado:


// ==UserScript==
// @name         自动点击弹出框确定按钮
// @namespace    http://huaiyang.hnjichujiaoyu.com/
// @version      1.0
// @description  自动点击弹出框确定按钮
// @match        http://huaiyang.hnjichujiaoyu.com/*
// @grant        none
// ==/UserScript==
 
(function() {
    'use strict';
 
    // 创建一个MutationObserver实例,用于监听DOM变化
    var observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            // 检查是否有匹配的弹出框按钮元素出现
            var confirmButton = document.querySelector('.layui-layer-btn0');
            if (confirmButton) {
                // 停止监听DOM变化
                observer.disconnect();
                // 模拟点击确定按钮
                confirmButton.click();
            }
        });
    });
 
    // 配置MutationObserver监听的目标节点和选项
    var targetNode = document.body;
    var config = { childList: true, subtree: true };
 
    // 启动MutationObserver
    observer.observe(targetNode, config);
})();

Este código monitoreará los cambios de DOM en la página. Una vez que aparezca el botón emergente en el DOM, automáticamente hará clic en el botón Aceptar. De esta manera, ya no tendrá que actualizar manualmente la página para obtener clics automáticos.

Enlaces de material literario:

Aquí hay literatura relevante y enlaces de recursos para obtener más información sobre la automatización de JavaScript y el manejo de cuadros emergentes:

Supongo que te gusta

Origin blog.csdn.net/feng1790291543/article/details/130955322
Recomendado
Clasificación