Entorno: Chrome, un Portal Web sencillo
Estoy tratando de hacer una simple automatización del navegador.
En una tabla HTML, 1. Haga clic en el primer enlace, 2. Cambie el valor desplegable y 3. haga 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 de hacer clic en el botón.
var tbl = document.getElementById("incident_table") tbl.rows[2].cells[2].getElementsbyClassName("linked")[0].click() // below code is not executing, as the above click loads the page 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 ejecutó como un fragmento, no
esta publicación es muy similar a su pregunta: preventDefault() en una etiqueta <a>
lo que quiere hacer es evitar la acción predeterminada del evento de clic de javascript.
Lo que también puedes hacer es:
tbl.rows[2].cells[2].getElementsbyClassName("linked")[0].addEventListener('click', ()=>{ preventDefault(); //write here what should happen instead });Lo que esto hará es evitar que ocurra la acción predeterminada "recargar sitio"
Editar: lo que quiero decir en el comentario es lo siguiente:
if(localStorage.getItem("firstPartComplete") === null){ //do first part //set completion status in localStorage localStorage.setItem("firstPartComplete", true); }else{ // do second part localStorage.removeItem("firstPartComplete"); }