Necesito descargar varios archivos .csv de un sitio web y guardarlos con nombres diferentes. Sin embargo, todos se descargan con el mismo nombre. Y por lo tanto, siguen sobrescribiendo el último, dejándome con un solo archivo al final. Aquí está mi código:
for(let i = 0; i <= 10; i++){ await page._client.send("Page.setDownloadBehavior", { behavior: "allow", downloadPath: `./csvFiles/`, }); await page.click("button_selector"); }La descarga comienza después de que Puppeteer hace clic en el botón de descarga y, dado que todo este código está en un bucle, no puedo cambiar el nombre de los archivos porque solo se crean después de que finaliza el bucle, momento en el que solo tengo un archivo descargado.
Si se pueden obtener las URL de los archivos CSV, puede insertar (o modificar) el atributo de download de la etiqueta <a> .
De lo contrario, podría interceptar la respuesta HTTP del servidor y modificar el encabezado de respuesta Content-Disposition para establecer un nombre de archivo para que el navegador reciba una respuesta HTTP alterada con el nombre de archivo explícito.