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

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

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 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