Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

521
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!