Enhanced target selection for robotic process automation
AssigneeUiPath, Inc.
InventorDan V. Munteanu
Life of this patent
Estimating the term…
Abstract
A software robot is configured to automatically identify a target element (e.g., a button, a form field, etc.) within a user interface (UI) according to a set of attributes of the target element specified in the source-code of the respective UI. The robot's code specification includes a multiplicity flag which, when set, causes the robot to search for the target element within multiple instances of a UI object matching a subset of the set attributes (for instance, within all windows having a specific name, within all browser tabs, etc.)
Claims20
A method comprising employing at least one hardware processor of a computer system to:
- in response to receiving a robotic process automation (RPA) script indicating a target element of a target user interface (UI), automatically identify a runtime instance of the target element within a runtime UI exposed by the computer system;
- and
- automatically carry out an operation that reproduces a result of an interaction of a human operator with the runtime instance of the target element, the operation determined according to the RPA script;
- wherein the RPA script specifies the target element as being a descendant of a selected node of a UI tree representation of the target UI;
- and
- wherein automatically identifying the runtime instance of the target element comprises:
- determining according to the RPA script whether a multiplicity flag is set,
- in response, if the multiplicity flag is set, searching for the runtime instance of the target element within descendants of multiple instances of the selected node found within the runtime UI, and
- if the multiplicity flag is not set, searching for the runtime instance of the target element within descendants of a single instance of the selected node found within the runtime UI.
The method of 1, wherein:
- the RPA script indicates the target element via an element ID comprising a plurality of attribute-value pairs collectively characterizing the target element;
- the multiplicity flag comprises a selected attribute-value pair of the element ID;
- and
- wherein the method comprises determining whether the multiplicity flag is set according to a value of an attribute of the selected attribute-value pair.
A computer system comprising at least one hardware processor configured to:
- in response to receiving a robotic process automation (RPA) script indicating a target element of a target user interface (UI), automatically identify a runtime instance of the target element within a runtime UI exposed by the computer system;
- and
- automatically carry out an operation that reproduces a result of an interaction of a human operator with the runtime instance of the target element, the operation determined according to the RPA script;
- wherein the RPA script specifies the target element as being a descendant of a selected node of a UI tree representation of the target UI;
- and
- wherein automatically identifying the runtime instance of the target element comprises:
- determining according to the RPA script whether a multiplicity flag is set,
- in response, if the multiplicity flag is set, searching for the runtime instance of the target element within descendants of multiple instances of the selected node found within the runtime UI, and
- if the multiplicity flag is not set, searching for the runtime instance of the target element within descendants of a single instance of the selected node found within the runtime UI.
A non-transitory computer-readable medium storing instructions which, when executed by at least one hardware processor of a computer system, cause the computer system to:
- in response to receiving a robotic process automation (RPA) script indicating a target element of a target user interface (UI), automatically identify a runtime instance of the target element within a runtime UI exposed by the computer system;
- and
- automatically carry out an operation that reproduces a result of an interaction of a human operator with the runtime instance of the target element, the operation determined according to the RPA script;
- wherein the RPA script specifies the target element as being a descendant of a selected node of a UI tree representation of the target UI;
- and
- wherein automatically identifying the runtime instance of the target element comprises:
- determining according to the RPA script whether a multiplicity flag is set,
- in response, if the multiplicity flag is set, searching for the runtime instance of the target element within descendants of multiple instances of the selected node found within the runtime UI, and
- if the multiplicity flag is not set, searching for the runtime instance of the target element within descendants of a single instance of the selected node found within the runtime UI.
A computer system comprising at least one hardware processor configured to:
- expose a robot design interface to a user, the robot design interface configured to receive a user input indicating a target element of a target user interface (UI) and to expose a control enabling the user to set a multiplicity flag associated with the target element;
- and
- output a robotic process automation (RPA) script comprising a specification of an RPA robot configured to carry out an operation that reproduces a result of an interaction of a human operator with a runtime instance of the target element, the RPA script including the multiplicity flag;
- wherein executing the RPA script on an RPA client causes the RPA client to:
- determine according to the RPA script whether the multiplicity flag is set,
- in response, if the multiplicity flag is set, search for the runtime instance of the target element within descendants of multiple instances of the selected node found within the runtime UI, and
- if the multiplicity flag is not set, search for the runtime instance of the target element within descendants of a single instance of the selected node found within the runtime UI.
Dependencies are inferred from the claim text.