es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer que los fragmentos de JavaScript funcionen después de que se recargue la página en Chrome?

Entorno: Chrome, un Portal Web simple

Estoy intentando hacer una automatización de navegador simple.

En una tabla HTML, 1. Hacer clic en el primer enlace, 2. Cambiar el valor del menú desplegable y 3. Hacer clic en Enviar.

El código después de hacer clic en el botón no se ejecuta, ya que la página se carga después del clic.

var tbl = document.getElementById("incident_table")
tbl.rows[2].cells[2].getElementsbyClassName("linked")[0].click()
// el siguiente código no se ejecuta, ya que el anterior clic carga la página
document.getElementById("incident.state").selectedIndex = 1
document.getElementById("sysverb_update").click()

Puedo ejecutar las últimas 2 líneas de código por separado en la consola, funciona.

Pero cuando se ejecuta como fragmento, no funciona.

ingresar descripción de la imagen aquí

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema con el código es que la página se está cargando después del primer evento de clic, lo que está evitando la ejecución del siguiente código. Una posible solución es agregar un retraso o esperar a que la página termine de cargarse antes de ejecutar el siguiente conjunto de código. Esto se puede lograr utilizando setTimeout o utilizando una función de devolución de llamada. Otra posible solución es utilizar una herramienta de automatización de interfaz de usuario como Selenium o Puppeteer para realizar la automatización del navegador, lo que proporciona un mayor control sobre las acciones del navegador y puede manejar eventos de carga de página de manera más efectiva.

Comments are closed.