Ir al contenido

Wait for Download

Tipo: page-wait-for-download  ·  Paquete: Browser v1.0.9  ·  Salida: string

Descarga un archivo desde la página de forma fiable. Envuelves dentro de su body la acción que dispara la descarga (un clic en “Descargar”, un enlace de exportación a PDF/Excel) y la actividad espera a que la descarga termine, devolviendo la ruta completa del archivo guardado.

Resuelve un problema clásico: si solo haces clic en “Descargar” y sigues, el archivo puede no haber terminado de bajar cuando la siguiente actividad intenta abrirlo. Esta actividad sincroniza ambas cosas.

  1. Empieza a “escuchar” descargas en la pestaña de session.
  2. Ejecuta las actividades del body (que disparan la descarga).
  3. Espera a que empiece la descarga, hasta timeout; luego espera a que termine de bajar, sin límite de tiempo.
  4. La guarda en outputPath y devuelve la ruta completa del archivo guardado.
  • Si outputPath es una carpeta, el archivo se llama como lo sugiere el sitio (el nombre que verías en el navegador). Se trata como carpeta si ya existe como carpeta, si termina en \ o /, o si no tiene extensión; en otro caso, como ruta de archivo.
  • Las carpetas que falten se crean solas y un archivo con el mismo nombre se sobrescribe.
  • Solo escucha la pestaña de session: si la descarga sale de otra pestaña (una ventana emergente), pasa la sesión de esa pestaña.
  • Las actividades del body no heredan session: usan la página del body de Open Browser que las contiene, o la que les pases en page.
ParámetroTipoPor defectoDescripción
sessionZoanPageSession—La sesión de la pestaña donde ocurre la descarga. Pasa page; no se hereda del body.
ParámetroTipoPor defectoDescripción
outputPathstringcarpeta temporalCarpeta o ruta de archivo donde guardar. Si das una carpeta, usa el nombre sugerido por el sitio. Vacío: la carpeta temporal del sistema.
timeoutnumber30000Tiempo máximo en ms a esperar a que empiece la descarga. 0 o negativo: el valor por defecto. No usa el tiempo de espera del proyecto.

Opcional. Las actividades que disparan la descarga (un clic en el botón de descarga, un enlace de exportación). Si lo dejas vacío, la actividad solo espera una descarga que empiece por otra vía.

Devuelve un string con la ruta completa del archivo descargado, p. ej. C:\Descargas\reportes\ventas.xlsx.

Exportar un reporte a Excel y obtener su ruta para procesarlo:

Wait for Download session = page outputPath = "C:\Descargas\reportes" → output: rutaReporte
└─ body:
Page Click page = page selector = (#exportarExcel)
Excel Open path = rutaReporte → output: libro
MensajeCausa y solución
'session' debe ser una ZoanPageSession.session está vacío o no contiene una sesión de página. Pasa page (aunque estés dentro de un body).
Timeout 30000ms exceeded … esperando la descargaNinguna descarga empezó a tiempo: el clic no la disparó, la abrió en otra pestaña o el sitio la mostró en el navegador. Revisa la acción del body, sube timeout o usa Download File si tienes la URL.
Error al guardar el archivoLa ruta no admite escritura o el archivo está abierto en otro programa (p. ej. Excel). Ciérralo o usa otra ruta.