Take Screenshot
Take Screenshot
Sección titulada «Take Screenshot»Tipo: take-screenshot · Paquete: Desktop Activities v1.0.8 · Salida: string
Desde: v1.0.3
Captura el escritorio completo —todos los monitores o solo el principal— en un archivo de imagen y devuelve su ruta. Sirve para ver qué había en pantalla cuando ocurrió un error de sistema: un diálogo inesperado, una aplicación colgada, un mensaje que el robot no esperaba.
Cómo funciona
Sección titulada «Cómo funciona»Es una actividad explícita: solo captura donde tú la pones, normalmente en el catch de un Try / Catch o en el playbook de recuperación. El motor nunca toma capturas por su cuenta al fallar, porque la pantalla puede mostrar información sensible; tú decides en qué pasos vale la pena guardarla y dónde.
screen = all(por defecto) captura el área de todos los monitores;primary, solo el monitor principal.- Si
pathtermina en.jpgo.jpegguarda JPEG; con cualquier otra extensión, PNG. - Si
pathestá vacío, crea un archivo nuevo en la carpeta temporal del usuario del robot:%TEMP%\zoan-screenshots\screenshot-AAAAMMDD-HHmmss-fff.png. - Crea la carpeta de destino si no existe y sobrescribe el archivo si ya existe.
- A diferencia de Win Screenshot, no necesita sesión ni selector: captura lo que se ve, sea la aplicación que sea.
Necesita un escritorio interactivo (el de la persona en ejecuciones atendidas, o el de la sesión de robot en desatendidas). En la Session 0 de los servicios de Windows no hay nada que capturar.
Parámetros requeridos
Sección titulada «Parámetros requeridos»Ninguno.
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
path | string | — | Archivo de imagen (.png o .jpg). Vacío = un .png nuevo en la carpeta temporal (zoan-screenshots). |
screen | string | all | Qué capturar: all (todos los monitores) · primary (solo el monitor principal). |
Devuelve un string con la ruta completa del archivo guardado, lista para adjuntarla a una tarea de revisión, enviarla por correo o registrarla junto con el error.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
No hay escritorio que capturar (el robot no se está ejecutando en una sesión interactiva). | El robot corre sin escritorio (Session 0). Ejecútalo con una sesión de robot. |
No se pudo capturar el escritorio: …. El robot necesita una sesión interactiva. | Windows no dejó leer la pantalla (sesión bloqueada o sin escritorio). Igual que el anterior. |
Como suele usarse dentro de un catch, conviene que un fallo de la captura no tape el error original: si la máquina puede quedar sin escritorio, ponla en su propio Try / Catch.
Ejemplo
Sección titulada «Ejemplo»Guardar la pantalla con un nombre único cuando falla un paso, y dejar la ruta en el registro:
Try / Catch errorVariable = error ├─ try: │ Win Click selector = (botón "Procesar") │ Win Wait For selector = (etiqueta "Listo") state = visible └─ catch: Take Screenshot path = pathJoin(str(Config["CarpetaCapturas"]), "error_" + now().ToString("yyyyMMdd_HHmmss") + ".png") → output: captura Log level = error message = "Fallo al procesar: " + error.Message + ". Captura: " + capturaSolo el monitor principal, en la carpeta temporal:
Take Screenshot screen = primary → output: capturaActividades relacionadas
Sección titulada «Actividades relacionadas»- Win Screenshot — capturar solo una ventana o un control.
- Kill Process — terminar la aplicación colgada después de capturar.
- Try / Catch — el lugar habitual de la captura.