Loop package
- 版本:
- 已更新: 2023/11/22
Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a specific condition is met.
For conditional loops, different actions are taken depending on whether the conditional parameters are met. For loops that have a specified number of iterations, the loop exits on the last iteration and goes to the next step in the bot.
When you run a sequence of actions repeatedly for a specific number of times within a loop, the end condition within the loop is evaluated in every iteration.
For example, when you loop through a Data Table that has 10 columns, enter dynamic values of column count for the end condition in the loop, use the action to delete the column of index 0 inside the loop body, and then run the bot, the bot deletes a column in every iteration. Hence it reduces the iteration count because the loop end condition is evaluated in each iteration.
Loop labels
- Ensure that each loop label in a specific bot is unique.
- The Label field supports only alphanumeric characters.
- In the Label field of the first Loop action, specify a label as
outerloop
. - In the Label field of the second Loop action, specify a label as
innerloop
. - In the action, in the Label field, select the label of the loop from which you want to continue.
- In the action, in the Label field, select the label of the loop from which you want to break.
Click the video to see how labeling loops work.
In a bot, if you have multiple nested loops with and Break actions within the nested loops, and if you have not labeled the loops, then on bot execution, the bot breaks or continues the nearest loop by default.
- An outer loop and an inner loop nested within the outer loop.
- A Break action within the inner loop. and
Actions in the Loop package
The following Loop actions are available:
Action | Description |
---|---|
Loop | See Using Loop action. |
Continue |
See Continue action. See If package. |
Break |
See Break action. See If package. |
Iterator-related conditions within the Loop action
Select the Iterator option to specify the number of times the set of actions will be repeated as part of the Loop action:
Iterator | Description |
---|---|
For each row in CSV/TXT | Repeats the set of actions for each row in the specified CSV or text file and assigns the values in the current row to a record variable. See Using the For each row in CSV/TXT iterator. |
For each row in Data Table | Repeats the set of actions for each row in the specified table and assigns the values in the current row to a record variable. See Using the For each row in table iterator. |
For each row in a SQL query dataset | Repeats the set of actions for each row in the specified SQL query dataset and assigns the values in the current row to a record variable. Provide the session name that you have used to establish a connection with the database. |
For each key in the Dictionary | Repeats the set of actions for each key in the
specified Dictionary variable and assigns the name of the
current key to a variable. Note: When a bot runs a Loop
action that contains a
action, the bot only iterates
on the original number of items in a dictionary; it ignores
items inserted using the Put
action.
|
For each value in the Dictionary | Repeats the set of actions for each value in
the specified Dictionary variable and assigns the current value
to a variable. Because this variable type can hold various
subtypes (String, Number, Boolean, and so on), if you
quick-create a variable when configuring the action, the variable is of Any
type.
Note: When a bot runs a Loop
action that contains a
action, the bot only iterates
on the original number of items in a dictionary; it ignores
items inserted using the Put
action.
|
For each mail in mailbox | Repeats the set of actions for each email in the specified mailbox. See Using the For each mail in mail box iterator. |
For each row in worksheet (Excel basic or Excel advanced) | Repeats the set of actions for each row that
contains data in a worksheet and assigns the values in the
current row to a record variable. Provide the session name that
you have used to open the Excel basic or Excel advanced worksheet. Specify whether to
repeat the actions for all the rows, specified
rows, or a specified cell range. Select a record variable from
the Assign the current row to this
variable list or create a new one. See Record variable. This iterator retrieves cell values as string data
types. It supports Excel cell formats, including Number,
Percentage, Currency, Scientific, and Date. For example, a
value from a cell of Currency formatting retains the
currency symbol when passed to a table or record
variable.
Use of Global session option to share an Microsoft Excel session using the Excel advanced package is not available with this option. Alternate solution: Use the Get multiple cells action and save the data into a datatable variable and then, use the Loop package with the Data Table option selected. |
For each file in folder | Repeats the set of actions for each file in
the specified folder and assigns the properties of the current
file to a Dictionary variable containing two keys: the
name key holds the file name and the
extension key holds the file
extension.To open files with different extensions, use
the variable option to assign the folder path, file name,
and file extension . First, create a variable for the folder
path, |
For each folder in folder | Repeats the set of actions for each folder in the
specified folder and assigns the current folder name to a String
variable. Use the Include all sub-folders option to recursively iterate through each sub-folder within a folder including hidden folders. |
For each item in the list | Repeats the set of actions for each item in
the specified list and assigns the current item to a variable.
Specify whether to repeat the action for all
items in the list or only for the range of items in the list.
Because this variable type can hold various
subtypes (String, Number, Boolean, and so on), if you
quick-create a variable when configuring the action, the variable is of Any
type.
Note: The index in a list starts from zero. For
example, to repeat the action for items from
the third position to the sixth position of the list,
specify 2 and
5 in the appropriate
fields.
|
For n times | Repeats the actions in the container the specified number of times. You can assign the iteration count to a Number variable. |
For each value in record | Repeats the actions for each value in the specified record and assigns the current value to a variable. Because this variable type can hold various subtypes (String, Number, Boolean, and so on), if you quick-create a variable when configuring the action, the variable is of Any type.. |
For each meeting in calendar | Use this option to repeat the set of actions for each meeting in the specified calendar. See Using Microsoft 365 Calendar actions in a loop. |
For each row in worksheet (Microsoft 365 Excel) | Repeats the set of actions for each row that
contains data in a worksheet.
|
For each node in a XML dataset | Repeats the set of actions for each node in an XML dataset and assigns the current node to String variable. Provide the session name that you have used to open the XML file. |
While related conditions in the Loop action
- Click Add condition.
- Select either of the following options:
- And: Both of the conditions must be met for the actions to run.
- Or: Either of the conditions must be met for the actions to run.
- Select the conditions from the drop-down list.
While | Description |
---|---|
Application | Use the Application is running or
Application is not running condition to
run actions based on whether an application is
running or not running. Enter the application path or specify the path using a variable along with the amount of time to wait (in seconds) for the condition to be true. Note: The
Application is running and
Application is not running conditions
are not applicable for Internet Explorer
bots because its corresponding process
iexplore.exe runs in the background when
Microsoft Edge is launched in
IE mode.
|
Boolean | Use this condition to execute actions based on the value of a Boolean variable. Use this condition to compare the values of two Boolean variables or one Boolean variable to a selected Boolean value. |
Data table | Use the Data table is empty condition to
execute actions based on whether the specified table
contains values. Use the Number of rows and Number of columns conditions to execute actions based on whether the number of columns or rows is Equal to, Greater than, or Less than the specified value. |
Datetime | Use the Datetime variable condition to execute actions based on whether the value of the source datetime variable is Equal to or Not Equal to, is Greater than or Equal to, or is Lesser than or Equal to the value of the target datetime variable. |
Dictionary | Use this condition to repeat the set of actions
based on whether the selected dictionary variable contains the
specified key. Note: The key comparison is
case-sensitive.
|
File | Use the following conditions to execute the action:
|
Folder does or does not exists | Use these conditions to repeat the set of actions based on whether a folder exists. |
Image Recognition | Use these conditions to verify whether:
For the
Window conditions, you can use the
Resize window option to specify the
window dimensions. This option delivers a more reliable bot. It resizes the window to the dimensions at
which the task was recorded, which enhances the bot's ability to
identify the target object.
Note: This option is only available
for windows that can be resized. It is not available for
Desktop or Taskbar options.
For the Window conditions, you can use the Preview option to select a specific captured occurrence and position your click location relative to the image. |
JavaScript | Use the Script is successful or Script is unsuccessful condition to execute actions based the status of the specified JavaScript. Select the file that contains the script and optionally specify the parameters by selecting a list variable. |
Legacy automation | The Legacy automation conditions are only
used in migrated bots to ensure that they run
seamlessly in Automation 360. We do not
recommend using these conditions for new bot
development. The following conditions to verify the following:
For the Window control conditions, you can use the Resize window option to specify the window dimensions. This option delivers a more reliable bot. It resizes the window to the dimensions at which the task was recorded, which enhances the bot's ability to identify the target object. |
List | Use the List variable condition to execute actions based on whether the specified list variable contains a particular value. The value can be of Number, String, or Boolean data type. |
Number | Use the Number variable condition to execute actions based on whether the specified number variable is Equal to or Not Equal to, or is Greater than or Equal to, or is Lesser than or Equal to a particular value. |
Ping | Use the Ping is successful or Ping is unsuccessful condition to verify if a machine or server is running, and execute actions based on the result. Enter the amount of time (in seconds) to wait for the condition to be true. |
Recorder |
Note: The
Object exists and Object
does not exist Recorder conditions support
Chromium-based Microsoft Edge with Internet Explorer mode.
|
Service | Use the Service is running or Service is not running condition to execute actions based on whether a service is running or not. Select Service list to choose a service from the list of available services. |
String | Use the String variable
condition to execute actions based on whether the
specified source string value is Equal to or
Not equal to, or
Includes or Does not
include the target value. You can select the Match case option to only execute actions if the two strings have matching uppercase and lowercase letters. When you extract text from a Microsoft
application, the extracted text contains the
To create a condition based on whether a string is empty or not empty, compare the source value to an empty target field using the Equal to operator. |
Task Bot | Use the Task successful or Task unsuccessful condition to execute actions based on the status of the specified Task Bot. |
VBScript | Use the Script is successful or Script is unsuccessful condition to execute actions based on the status of the specified Visual Basic script. Select the file that contains the script and optionally specify the parameters by selecting a variable. |
Window | Use the Window exists or Window does
not exist condition to verify if a specific
application window is open by entering the Window
title or using a variable. Enter the amount of time
(in seconds) to wait for the condition to be true. These
conditions are used when the window title remains constant and
to verify if the specific window is open and execute further actions based on the output. The Window exists condition uses the same window variable to search the specific window from cache. For example, when you open a Yahoo India web page and perform a Click action on the News option on the web page, the action navigates you to another page which changes the title of the window. In this case, when you use the Window exists condition to verify if the window exists, the bot still fetches the Yahoo India web page from the cache and performs action on it because the window is still the same but only the title has changed. For more information on how window variables work, see Your variables (user-defined) Use the Window with same title does not exist or Window with same title exist condition to verify whether a window with the same title exists or whether the window title has changed. Enter the amount of time (in seconds) to keep verifying if the condition is true. These conditions are used for window titles that are dynamic. For example, when you open a Google account webpage, enter your username and password to log into your account, the window title changes. If you want to compose a new email as a next action, you can use these conditions before you execute the next action to verify if the window with the same title exists or if the title has changed. |
Group conditions
Use the Add group option to add multiple Boolean conditions or combine more than one conditions with And and Or options within a group and when you want the bot to check multiple conditions at a time before executing a set of actions.
You can also add a group within a group.