Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

517
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda