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

269
Vistas
Script de Tampermonkey para buscar un botón y hacer clic en él

Soy bastante nuevo en la creación de scripts con tampermonkey e incluso después de mirar varias respuestas durante las últimas horas, todavía no puedo descifrar esta.

Estoy tratando de hacer una secuencia de comandos que busque un botón y, cuando aparezca, haga clic en él después de unos 2 segundos.

Estoy tratando de buscarlo por ID de esta manera:

 var caseHide = document.getElementById("accept"); var checkTimer = setInterval(MyTimer, 1500); function MyTimer() { if (caseHide.offsetParent === null) { return; } var eek = document.getElementById("accept"); var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); eek.dispatchEvent(evt); } checkTimer();

Sin embargo, cuando aparece el botón, no se hace clic.

También debo mencionar que este es un botón que aparece sin un intervalo establecido porque lo solicita una alerta y, como tal, no puedo decir con qué frecuencia aparecerá.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Algunos pensamientos.

El primer getElementById probablemente fallará ya que es probable que ese botón aún no exista.

Además, la simple búsqueda de #accept podría no ser suficiente para localizar el elemento. Depende de cómo se vea tu página.

Esto es lo que hago. En la consola de DevTools, haga esto:

 document.getElementById('accept').length

Si vuelve indefinido, entonces su selector css no es lo suficientemente específico. Puede que tengas que caminar un poco más por el árbol ... algo como:

 document.querySelector('body #main .prevDiv #accept')

¿Sabes lo que quiero decir? Comenzando más arriba en el árbol y caminando hacia el elemento. Si no funciona en DevTools, no funcionará en TamperMonkey. En bibliotecas modernas como Angular/React/Svelte/etc, es posible que tenga más de un elemento con el mismo ID... por lo que es posible que no lo encuentre simplemente especificando el elemento único.

Entonces, su función puede verse así:

 var checkTimer = setInterval(MyTimer, 1500); checkTimer(); function MyTimer() { const eek = document.getElementById("accept"); if (eek !== undefined){ const evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); eek.dispatchEvent(evt); } }

Referencias:

https://www.youtube.com/watch?v=Pr4LLrmDLLo

https://www.youtube.com/watch?v=SowaJlX1uKA

about 4 years ago · Juan Pablo Isaza 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