Bucle paquete

Utilice el paquete Bucle para ejecutar repetidamente la secuencia de acciones para una cantidad específica de veces o hasta que se cumpla una condición específica.

Bucle paquete le permite ejecutar las acciones específicas dentro de un bot. Por ejemplo, repetir el conjunto de acciones para leer los datos de cada línea de un archivo de Excel, cambiar de nombre a todos los archivos en una carpeta, guardar cada correo electrónico en un buzón de correo. También puede utilizar la acción Si dentro de la acción Bucle para validar una condición y, en base al resultado de la misma, omitir la iteración actual en el bucle o incluso romper el bucle.

Para bucles condicionales, se toman diferentes acciones según se cumplen los parámetros condicionales. Para los bucles que tienen una cantidad específica de iteraciones, el bucle sale en la última iteración y va al siguiente paso en el bot.

Cuando se ejecuta una secuencia de acciones de manera repetida durante una cantidad específica de veces dentro del bucle, la condición final dentro del bucle se evalúa en cada iteración.

Por ejemplo, cuando se recorre una Tabla de datos que tiene 10 columnas, ingrese valores dinámicos de recuento de columnas para la condición final del bucle, use la acción Tabla de datos > Eliminar columna para eliminar la columna de índice 0 dentro del cuerpo del bucle, y ejecute la función bot; bot borra una columna de cada iteración. Por lo tanto, reduce la cantidad de iteraciones porque la condición final de bucle se evalúa en cada iteración.

Nota: Puede ejecutar los bots con una cantidad máxima de 97 bucles anidados.

Etiquetas de bucle

Puede utilizar el campo Etiqueta en las acciones del paquete de Bucle para etiquetar los bucles utilizados en un bot. Mediante el etiquetado de bucles, puede interrumpir o continuar un bucle específico a partir de bucles anidados.
Nota: Para utilizar esta función, asegúrese de crear sus bots utilizando el paquete de Bucle versión (3.7.4) para utilizar esta función. Esta característica no es compatible con versiones anteriores.
Para añadir etiquetas a las acciones Bucle, Continuaro Interrumpir, en el campo Etiqueta, especifique una etiqueta para el bucle.
Nota:
  • Asegúrese de que cada etiqueta de bucle en un bot específico sea única.
  • El campo Etiqueta solo admite caracteres alfanuméricos.
El siguiente ejemplo describe cómo utilizar el campo Etiqueta para interrumpir o continuar un bucle en un bot:
  • En el campo Etiqueta del primer Bucle acción, especifique una etiqueta como outerloop.
  • En el campo Etiqueta de la acción del segundo Bucle, especifique una etiqueta como innerloop.
  • En la acción Bucle > Continuar, en el campo Etiqueta, seleccione la etiqueta del bucle que desea continuar.
  • En la acción Interrumpir > Bucle, en el campo Etiqueta, seleccione la etiqueta del bucle desde la cual desea interrumpir.

Haga clic en el video para ver cómo funciona el etiquetado de bucles.

En un bot, si tiene varios bucles anidados, tenga las acciones Bucle > Continuar e Interrumpir dentro de los bucles anidados, y si no ha etiquetado los bucles, entonces en la ejecución del bot, el bot interrumpe o continúa el bucle más cercano de manera predeterminada.

Por ejemplo, si tiene:
  • Un bucle exterior y un bucle interior anidado dentro del bucle exterior.
  • Una acción Loop > Continuar e Interrumpir dentro del bucle interior.
Si no ha etiquetado ninguno de estos bucles, cuando ejecute el bot, el bot interrumpirá o continuará el bucle más cercano (el bucle interno).

Acciones en el paquete de Bucle

Las siguientes Bucle acciones están disponibles:

Acción Descripción
Bucle Consulte Utilizar Bucle acción.
Continuar

Consulte Acción Continuar.

Consulte Si paquete.
Interrumpir

Consulte Acción de Interrumpir.

Consulte Si paquete.

Condiciones relacionadas con el iterador dentro de la acciónBucle

Seleccione la opción Iterador para especificar la cantidad de veces que el conjunto de acciones se repetirá como parte de la acción Bucle:

Iterador Descripción
Para cada fila en CSV/TXT Repite el conjunto de acciones para cada fila en el archivo especificado CSV o de texto y asigna los valores en la fila actual a una variable de Registro. Consulte Uso del iterador Para cada fila en CSV/TXT.
Para cada fila en Tabla de datos Repite el conjunto de acciones para cada fila en la tabla especificada y asigna los valores en la fila actual a una variable de Registro. Consulte Seleccione el iterador Para cada fila de la tabla.
Para cada fila en un conjunto de datos de una consulta SQL Repite el conjunto de acciones para cada fila en el conjunto de datos de consultas SQL especificado y asigna los valores en la fila actual a una variable de Registro. Proporcione el nombre de sesión que ha utilizado para establecer una conexión con la base de datos.
Para cada clave en Diccionario Repite el conjunto de acciones para cada clave en la variable del diccionario especificada y asigna el nombre de la clave actual a una variable.
Nota: Cuando un bot ejecuta una acción de Bucle que contiene un Diccionario > Colocar acción, el bot solo itera sobre el número original de elementos en un diccionario; ignora los elementos insertados mediante la acción Colocar.
Para cada valor en Diccionario Repite el conjunto de acciones para cada valor en la variable del Diccionario especificada y asigna el valor actual a una variable. Dado que este tipo de variable puede contener varios subtipos (cadena, número, booleano, etc.), si crea rápidamente una variable mientras configura la acción, la variable es de cualquier tipo.
Nota: Cuando un bot ejecuta una acción de Bucle que contiene un Diccionario > Colocar acción, el bot solo itera sobre el número original de elementos en un diccionario; ignora los elementos insertados mediante la acción Colocar.
Para cada correo en el buzón de correo Repite el conjunto de acciones para cada correo electrónico en el buzón especificado. Consulte Iterador para cada correo del buzón de correo.
Para cada fila de la hoja de cálculo (Excel Basic o Excel avanzado) Repite el conjunto de acciones para cada fila que contenga datos en una hoja de trabajo y asigna los valores en la fila actual a una variable de registro. Proporcione el nombre de sesión que ha utilizado para abrir la Excel Basic o la hoja de cálculo Excel avanzado. Especifique si desea repetir las acciones para todas las filas, filas especificadas o un rango de celdas especificado. Seleccione una variable de registro de la lista Asignar la fila actual a esta variable o cree una nueva. Consulte Variable de registro.
Este iterador recupera los valores de celda como tipos de datos de cadena. Admite formatos de celdas de Excel, incluidos Número, Porcentaje, Moneda, Científico y Fecha. Por ejemplo, un valor de una celda de formato de moneda conserva el símbolo de moneda cuando se pasa a una variable de tabla o registro.
  • Debe convertir los valores para realizar operaciones que no sean de cadena.
  • En Excel avanzado, cuando elige el iterador de bucle con la opción Para cada fila de la hoja de cálculo, tiene la opción Leer para leer el texto visible o el valor de la celda.

    Por ejemplo, si la celda tiene 70 % como contenido de celda, la opción Leer valor de celda leerá el valor como 70 ignorando el formato de %, mientras que la opción Leer texto visible leerá el contenido como 70 %.

    Recommendation: Utilice la opción Leer valor de celda como el valor de lectura para un mejor rendimiento que la lectura de texto visible.

No se encuentra disponible la opción de Sesión global para compartir una sesión de Microsoft Excel si se utiliza el paquete Excel avanzado.

Solución alternativa: Utilice la acción Obtener varias celdas y guarde los datos en una variable de la tabla de datos y, a continuación, utilice el paquete de Bucle con la opción de Tabla de datos seleccionada.

Para cada archivo en la carpeta Repite el conjunto de acciones para cada archivo en la carpeta especificada y asigna las propiedades del archivo actual a una variable de diccionario que contenga dos claves: la clave name contiene el nombre del archivo y la clave extension contiene la extensión del archivo.

Para abrir archivos con diferentes extensiones, utilice la opción variable para asignar la ruta de la carpeta, el nombre del archivo y la extensión del archivo. Primero, cree una variable para la ruta de la carpeta, $sFolder$. A continuación, para los archivos en la ruta de la carpeta, cree dos variables, una para el nombre del archivo $name$ y otra para la extensión del archivo $extension$. Para abrir un archivo, combine las variables como una cadena, como $sFolder$\$name$.$extension$. Para que la extensión funcione con diferentes tipos de archivos y diferentes opciones de apertura, se puede añadir una lógica condicional.

Para cada carpeta en carpeta Repite el conjunto de acciones para cada carpeta en la carpeta especificada y asigna el nombre de la carpeta actual a una variable de cadena.

Utilice la opción Incluir todas las subcarpetas para iterar de forma recursiva cada subcarpeta de una carpeta, incluidas las carpetas ocultas.

Para cada elemento en la lista Repite el conjunto de acciones para cada elemento de la lista especificada y asigna el elemento actual a una variable. Especifique si desea repetir la acción para todos los elementos de la lista o sólo para un rango de elementos de la lista. Dado que este tipo de variable puede contener varios subtipos (cadena, número, booleano, etc.), si crea rápidamente una variable mientras configura la acción, la variable es de cualquier tipo.
Nota: El índice en una lista comienza desde cero. Por ejemplo, para repetir la acción para los elementos de la tercera posición a la sexta posición de la lista, especifique 2 y 5 en los campos adecuados.
Durante n veces Repite las acciones en el contenedor la cantidad de veces especificada. Puede asignar el conteo de iteración a una variable de Número.
Para cada valor en el registro Repite las acciones para cada valor en el registro especificado y asigna el valor actual a una variable. Dado que este tipo de variable puede contener varios subtipos (cadena, número, booleano, etc.), si crea rápidamente una variable mientras configura la acción, la variable es de cualquier tipo..
Para cada reunión del calendario Utilice esta opción para repetir el conjunto de acciones para cada reunión en el calendario especificado. Consulte Uso de Calendario de Microsoft 365 acciones en un bucle.
Para cada fila de la hoja de cálculo (Excel de Microsoft 365) Repite el conjunto de acciones para cada fila que contiene datos en una hoja de cálculo.
  • Proporcione el nombre de sesión que ha utilizado para abrir la hoja de cálculo.
  • Especifique si debe repetir el acciones para todas las filas o para filas específicas.
  • Puede asignar los valores en la fila actual a una variable de Registro.
Para cada nodo de un conjunto de datos XML Repite el conjunto de acciones para cada nodo en un conjunto de datos XML y asigna el nodo actual a la variable Cadena. Proporcione el nombre de sesión que ha utilizado para abrir el archivo XML.

Condiciones relacionadas en la acción Bucle

Puede configurar varias condiciones dentro de una sola acción de Bucle:
  1. Haga clic en Agregar condición.
  2. Seleccione cualquiera de las siguientes opciones:
    • Y: Ambas condiciones deben cumplirse para que se ejecuten las acciones.
    • O: Cualquiera de las condiciones debe cumplirse para que se ejecuten las acciones.
  3. Seleccione la condición en la lista desplegable.
Seleccione la opción Mientras para usar las siguientes condiciones:
Mientras Descripción
Aplicación Utilice la condición La aplicación se está ejecutando o La aplicación no se está ejecutando para ejecutar las acciones en función de si una aplicación se está ejecutando o no.

Introduzca la ruta de acceso de la aplicación o especifique la ruta mediante una variable junto con la cantidad de tiempo de espera (en segundos) para que esta condición sea verdadera.

Nota: Las condiciones La aplicación se está ejecutando y La aplicación no se está ejecutando no son aplicables para bots Internet Explorer porque su proceso correspondiente iexplore.exe se ejecuta en segundo plano cuando se inicia Microsoft Edge en modo IE.
Booleano Utilice esta condición para ejecutar acciones basado en el valor de una variable Booleano. Use esta condición para comparar los valores de dos variables booleanas o una variable booleana con un valor booleano seleccionado.
Tabla de datos Utilice la condición La tabla de datos está vacía para ejecutar acciones en función de si la tabla especificada contiene valores.

Utilice las condiciones Número de filas y Número de columnas para ejecutar acciones en función de si el número de columnas o filas es Igual a, Mayor que o Menor que el valor especificado.

Fecha y hora Utilice la condición Variable de fecha y hora para ejecutar acciones en función de si el valor de la variable de fecha y hora de origen es Igual a o No es igual a, es Mayor que o Igual a, o es Menor que o Igual a el valor de la variable de fecha y hora de destino.
Diccionario Utilice esta condición para repetir el conjunto de acciones en función de si la variable del diccionario que ha seleccionado contiene la clave especificada.
Nota: La comparación clave distinguirá mayúsculas y minúsculas.
Archivo Utilice las siguientes condiciones para ejecutar la acción:
  • Fecha del archivo

    Use esta condición para verificar la fecha y hora de creación o modificación de un archivo. Especifique una fecha o un rango de fechas mediante las opciones En una fecha, Está dentro de los últimos, Está entre o Es anterior a. Para la opción En una fecha, especifique una fecha para verificar si el archivo fue creado o modificado en esa fecha. Para la opción Está dentro de los últimos, especifique la cantidad de días o tiempo (en horas, minutos y segundos). Introduzca la cantidad de tiempo (en segundos) que se debe esperar para que esta condición sea verdadera.

  • Archivo existe y Archivo no existe

    Utilice estas condiciones para ejecutar una acción en función de si un archivo existe o no. Por ejemplo, si un archivo de datos existe, formatee el archivo y cárguelo en una base de datos.

  • Extensión del archivo

    Utilice esta condición para comprobar la extensión de un archivo seleccionado y, luego, ejecutar acciones basándose en los resultados. Utilice el campo Ruta del archivo para seleccionar un archivo.

  • Tamaño del archivo

    Esta condición verifica si el archivo especificado es más grande, más pequeño, no es el mismo o es igual al tamaño especificado.

    Introduzca la cantidad de tiempo (en segundos) que se debe esperar para que esta condición sea verdadera.

Carpeta existe o no existe Utilice estas condiciones para repetir el conjunto de acciones en función de si una carpeta existe.
Reconocimiento de imágenes Utilice estas condiciones para verificar si:
  • El Archivo de imagen se encontró en el Archivo de imagen o no.
  • El Archivo de imagen se encontró en la Ventana o no.
  • La Ventana se encontró en el Archivo de imagen o no.
  • La Ventana se encontró en la Ventana o no.
Para las condiciones de Ventana, se puede utilizar la opción Cambiar el tamaño de la ventana para especificar las dimensiones de la ventana. Esta opción ofrece una mayor confiabilidad del bot. Cambia el tamaño de la ventana a las dimensiones en las que se registró la tarea, lo que mejora la capacidad del bot para identificar el objeto de destino.
Nota: Esta opción solo está disponible para las ventanas que pueden cambiar de tamaño. No está disponible para las opciones de Escritorio o Barra de Tareas.

Para las condiciones de Ventana, se puede utilizar la opción Vista previa para seleccionar una instancia capturada específica y posicionar su ubicación de clic en relación con la imagen.

JavaScript Utilice la condición Script fue exitoso o Script no fue exitoso para ejecutar las acciones en función del estado del JavaScript especificado. Seleccione el archivo que contiene la secuencia de comandos y especifique los parámetros seleccionando una variable de lista.
Automatización heredada Las condiciones de Automatización de una versión anterior solo se utilizan en bots migrados para garantizar que se ejecuten sin problemas en Automation 360. No recomendamos el uso de estas condiciones para el desarrollo de un bot nuevo. Las siguientes condiciones para verificar lo siguiente:
  • Si el Control de Web existe o no.
  • Si el Control de ventana existe o no.
  • Si el Control de ventana está activo o no.
  • Si el Script es exitoso o no.
  • Si la Ventana secundaria existe o no.

Para las condiciones de Control de ventanas, se puede utilizar la función Cambiar el tamaño de la ventana para especificar las dimensiones de la ventana. Esta opción ofrece una mayor confiabilidad del bot. Cambia el tamaño de la ventana a las dimensiones en las que se registró la tarea, lo que mejora la capacidad del bot para identificar el objeto de destino.

Lista Utilice la condición Variable de lista para ejecutar las acciones en función de si la variable de lista especificada contiene un valor determinado. El valor puede ser del tipo de datos Número, Cadena o Booleano.
Número Utilice la condición Variable de número para ejecutar acciones en función de si la variable numérica especificada es Igual a o No es igual a o es Mayor que o Igual a o es Menor que o Igual a un valor determinado.
Ping Utilice la condición Ping fue exitoso o Ping no fue exitoso para verificar si un equipo o servidor está funcionando y si ejecuta la acción según el resultado. Introduzca la cantidad de tiempo (en segundos) que se deben esperar para que esta condición sea verdadera.
Grabador
  • Utilice la condición El objeto existe para detectar un objeto en una ventana. Seleccione una ventana o variable para capturar el objeto.
  • Utilice la condición El objeto no existe para verificar si un objeto específico existe en una ventana y, luego, en función del resultado, ejecutar acciones. Por ejemplo, se puede utilizar la condición El objeto no existe dentro de la condición Bucle > Mientras para garantizar que el bot no ejecute la siguiente acción hasta que se haya cargado el objeto en la aplicación comercial.
  • En el campo Establecer tiempo de espera del sistema, seleccione Básico o Avanzado.
    • Básico: En el campo Esperar respuesta del sistema (segundos), especifique el tiempo en segundos que el bot debe esperar para que aparezca el control del objeto en la ventana de la aplicación. Este tiempo de espera incluye el tiempo de espera tanto para la carga de la página como para la búsqueda de objetos.

      Se recomienda establecer un tiempo de demora cuando se utilice la acción Establecer texto para ingresar pulsaciones en un campo de texto.

      Nota: El tiempo de espera especificado para que el bot espere a que el control aparezca en la ventana de la aplicación solo se aplica si existe la ventana en la que se encuentra el control. El Grabador primero busca la ventana de la aplicación y solo después busca el objeto dentro de esa ventana. El tiempo de búsqueda por defecto de la ventana es de 30 segundos. Por lo tanto, aunque se especifique un tiempo de espera de 5 segundos, seguirá esperando 30 segundos por defecto si la ventana no existe.

      Se recomienda utilizar primero la condición Si > Ventana existe, especificar un tiempo de espera de cero segundos y asegurarse de que la ventana de la aplicación exista. Si la ventana existe entonces utilice el Grabador, especifique un tiempo de espera de 5 segundos, y ejecute el bot para detectar el objeto.

    • Avanzado: Utilice esta opción para automatizar sitios web que se cargan y actualizan constantemente con los datos más recientes, como un sitio web de acciones. Técnicamente, estos sitios web nunca se cargan completamente en la pantalla. En tales casos, el bot no necesita esperar a que la página web se cargue por completo y puede proceder de manera directa a automatizar la página web después de un tiempo determinado.

      En el campo Esperar respuesta del navegador (segundos), especifique el tiempo en segundos que el bot debe esperar para que se cargue el navegador. Seleccione una de las siguientes opciones:

      • Detener el bot y mostrar un mensaje de error: Si la página web no se carga completamente dentro del tiempo de espera especificado, seleccione esta opción para detener el bot y mostrar un mensaje de error.
      • Omitir y continuar con el objeto: Seleccione esta opción para continuar directamente con el objeto y capturarlo incluso si la página web no se cargó por completo.

      En el campo Esperar respuesta del objeto (segundos), especifique el tiempo en segundos que el bot debe esperar para que aparezca el control del objeto en la ventana de la aplicación.

Nota: Las condiciones del grabador El objeto existe y El objeto no existe son compatibles con Chromium Microsoft Edge con modo Internet Explorer.
Servicio Utilice la condición El servicio está en ejecución o El servicio no está en ejecución para ejecutar acciones en función de si un servicio está en ejecución o no. Seleccione Lista de servicio para elegir un servicio de la lista de servicios disponibles.
Cadena Utilice la condición Variable de cadena para ejecutar las acciones en función de si el valor de la cadena de origen especificado es Igual a o No es igual a, o Incluye o No incluye el valor objetivo.

Puede seleccionar la opción Coincidir mayúsculas y minúsculas para ejecutar las acciones solo si las dos cadenas tienen letras mayúsculas y minúsculas que coincidan.

Cuando extrae texto de una aplicación de Microsoft, el texto extraído contiene los caracteres especiales /r/n que indican una nueva línea. Seleccione la opción Ignorar retorno de carro si desea ignorar el carácter especial /r cuando compare el texto.

Para crear una condición en función de si una cadena está vacía o no está vacía, compare el valor de origen con un campo objetivo vacío utilizando el operador Igual a.

Consulte Ejemplo de uso de una declaración condicional.

TaskBot Utilice la condición Tarea exitosa o Tarea no exitosa para ejecutar las acciones en función del estado del TaskBot especificado.
VBScript Utilice la condición Script fue exitoso o Script no fue exitoso para ejecutar las acciones en función del estado de la secuencia de comandos de Visual Basic especificada. Seleccione el archivo que contiene la secuencia de comandos y especifique los parámetros seleccionando una variable.
Ventana Utilice la condición Ventana existe o Ventana no existe para verificar si una ventana de aplicación específica está abierta al ingresar el Título de la ventana o al utilizar una variable. Introduzca la cantidad de tiempo (en segundos) que se deben esperar para que esta condición sea verdadera. Estas condiciones se utilizan cuando el título de la ventana permanece constante y para verificar si la ventana específica está abierta y ejecutar más acciones basándose en la salida.

La condición Ventana existe utiliza la misma variable de ventana para buscar la ventana específica desde la caché. Por ejemplo, cuando abre una página web de Yahoo India y realiza un Clic en la opción Noticias de la página web, la acción lo lleva a otra página que cambia el título de la ventana. En este caso, cuando se utiliza la condición Ventana existe para verificar si la ventana existe, el bot todavía recupera la página web de Yahoo India de la caché y ejecuta su acción porque la ventana sigue siendo la misma, pero solo el título ha cambiado. Para obtener más información sobre las variables de la ventana, consulte Sus variables (definidas por el usuario).

Utilice la condición Ventana con el mismo título no existe o Ventana con el mismo título existe para verificar si existe una ventana con el mismo título o si el título de la ventana ha cambiado. Ingrese la cantidad de tiempo (en segundos) para seguir verificando si la condición es verdadera. Estas condiciones se utilizan para los títulos de las ventanas que son dinámicas. Por ejemplo, cuando abre una página web de una cuenta de Google e introduce su nombre de usuario y contraseña para acceder a su cuenta, el título de la ventana cambia. Si desea redactar un nuevo correo electrónico como una siguiente acción, puede utilizar estas condiciones antes de ejecutar la siguiente acción para verificar si la ventana con el mismo título existe o si el título ha cambiado.

Condiciones de grupo

Utilice la opción Agregar grupo para agregar varias condiciones booleanas o combinar más de una condición con las opciones Y y O dentro de un grupo y cuando desee que el bot compruebe varias condiciones a la vez antes de ejecutar un conjunto de acciones.

También puede agregar un grupo dentro de otro grupo.