Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

519
Vistas
Script de contenido de extensión de Chrome - .click() no funciona

Llevo horas intentándolo y no consigo que funcione. He escrito un script de contenido que se ejecuta cuando el usuario carga una página. El método click() simplemente no funcionará cuando intento hacer clic en un elemento. He probado de varias formas y siempre funciona desde la consola, pero no cuando cargo la página.

El elemento en el que quiero hacer clic:

 <a id="startButton" href="javascript: popupHand.showPopup('popupLoginV2','loginHand.init()','','',true);" class="buttonGreen1 buttonSize1">Megpörgetem</a>

manifest.json - parte del script de contenido

 { "content_scripts": [ { "matches": ["*://*.bonuszbrigad.hu/bonuszkerek"], "js": ["plugin/jquery-3.2.0.min.js", "js/page_wheel.js"], "run_at": "document_end" } ], }

page_wheel.js

 function spinWheel() { var spinButton = $("#startButton"); if (spinButton.text() === "Már pörgettél") { return "wait"; } else if (spinButton.text() === "Megpörgetem") { console.log("spin is available"); spinButton.on("click", function () { console.log("inside click action"); var popupLogin = $("#popup_login"); console.log(popupLogin); if (popupLogin === null) { return "login" } else { return "success"; } } ); spinButton.trigger("click"); } }

Cuando cargo la página, los registros de la consola muestran que logró ingresar

  • spinButton.on("clic", función (){...});

Pero no hubo clics reales en el sitio web. Cuando pruebo el método de clic en la consola, las dos soluciones a continuación funcionan:

  • $("#BotónInicio").clic()
  • document.getElementById("startButton").click();

También veo los mismos registros de la consola, al ejecutar el método de clic desde la consola, pero de esta manera realmente funciona.

¿Alguien tiene una idea de cuál es el problema? :/

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Tengo este problema. En mi caso, me di cuenta de que había sincronizaciones de carga de HTML DOM y script. Entonces, cuando llama al evento de clic, todavía estaba cargado. Así que agregué el script que invoca el evento de clic en window.load y funcionó.

Mi script se ve a continuación:

 window.onload = function () { const btn = document.getElementById('J_LinkBuy') if (btn !== null) { btn.dispatchEvent(new MouseEvent('click')) } }
about 4 years ago · Santiago Trujillo Denunciar

0

Solución 1: puede usar el atributo onclick en cualquier etiqueta HTML y usarlo para llamar a las funciones de JavaScript.

 <a onclick="sayHi('Hi')"> Click me </a> <script>function sayHi(message){alert(message)}</script>

Solución 2: use la función de evento de clic de jquery.

Recuerde, el clic de jquery debe llamarse solo después de generar el elemento html de destino. la llamada de clic no funcionará o de lo contrario

 $(css_selector).click();
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda