Quiero automatizar un proceso que requiere descargar un archivo.
Tengo que hacer una búsqueda, especificando una cadena en un cuadro de búsqueda y luego haciendo clic en el botón (llamado: "ctl00$MainContent$BtnBusqueda"). Una vez que se muestran los resultados, puede descargar un resultado único a un archivo con un botón (llamado: "BtnDescarga").
Ya pude ingresar la cadena en el cuadro de búsqueda y realizar la búsqueda con esto (iterable para automatizar sobre una matriz de cadenas):
function setUUID(element, index, array) { document.getElementsByName("ctl00$MainContent$TxtUUID")[0].value=element; document.getElementsByName("ctl00$MainContent$BtnBusqueda")[0].click(); } Entonces, puedo llamar eso a través de una matriz de cadenas con: array.forEach(setUUID)
Intenté terminar el problema descargando el archivo con esto:
function setUUID(element, index, array) { document.getElementsByName("ctl00$MainContent$TxtUUID")[0].value=element; document.getElementsByName("ctl00$MainContent$BtnBusqueda")[0].click(); document.getElementsByName("BtnDescarga")[0].click(); }Pero obtengo:
Uncaught TypeError: Cannot read properties of undefined (reading 'click') at setUUID (<anonymous>:4:49) at Array.forEach (<anonymous>) at <anonymous>:1:7Soy nuevo en JavaScript, pero apenas entiendo que el elemento llamado "BtnDescarga" solo aparece cuando se realiza la búsqueda, por lo que "se agrega" al documento. Entonces, cómo antes de la búsqueda no existe, no se puede encontrar.
Entonces, ¿alguna solución a esto? De todos modos, ¿para acceder a un nuevo elemento en el documento que solo aparece cuando hace clic en un botón? o alguna solución mejor para esto?
Gracias en general.