IP Library Granted Patent US 11,635,977
Granted Patent B2
US 11,635,977 · App. 17/816,415 · Granted Apr 25, 2023

Enhanced target selection for robotic process automation

Inventor: Dan V. Munteanu (Bucharest, RO)
Assignee: UiPath Inc.
G06F9/451G05B13/0265G06N3/08G06N5/025
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,635,977
App. No.
17/816,415
Granted
Apr 25, 2023
Kind
B2
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.)

Claims (54)

1. 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 automatically identifying the runtime instance of the target element comprises:

determining according to the RPA script whether a multiplicity flag is set;

in response, when the multiplicity flag is set, searching for the runtime instance of the target element within multiple windows exposed by the runtime UI; and

when the multiplicity flag is not set, searching for the runtime instance of the target element within a single window exposed by the runtime UI.

2. The method of claim 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.

3. The method of claim 2 , further comprising selecting the single window from a plurality of windows exposed by the runtime UI according to at least one of the plurality of attribute-value pairs.

4. The method of claim 2 , wherein the value indicates a count of the multiple windows to be searched for the runtime instance of the target element.

5. The method of claim 2 , wherein the element ID includes a first set of attribute-value pairs characterizing a window displaying the target element, and a second set of attribute-value pairs characterizing a content of the window, and wherein searching for the runtime instance of the target element comprises:

selecting a candidate window exposed by the runtime UI according to the first set of attribute-value pairs;

selecting a candidate UI element displayed within the candidate window;

determining whether attribute-value pairs characterizing the candidate element matches the second set of attribute-value pairs; and

in response, when yes, identifying the candidate element as the runtime instance of the target element.

6. The method of claim 1 , wherein the interaction comprises an item selected from a group consisting of performing a mouse click on the runtime instance of the target element, pressing a specific combination of keyboard keys, writing a sequence of characters into the runtime instance of the target element, grabbing an on-screen image of the runtime instance of the target element, and grabbing a text displayed by the runtime instance of the target element.

7. The method of claim 1 , wherein the target element comprises an item selected from a group consisting of a UI window, a menu, a button, a text area, and a form field.

8. 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 automatically identifying the runtime instance of the target element comprises:

determining according to the RPA script whether a multiplicity flag is set;

in response, when the multiplicity flag is set, searching for the runtime instance of the target element within multiple windows exposed by the runtime UI; and

when the multiplicity flag is not set, searching for the runtime instance of the target element within a single window exposed by the runtime UI.

9. The computer system of claim 8 , 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 at least one hardware processor is configured to determine whether the multiplicity flag is set according to a value of an attribute of the selected attribute-value pair.

10. The computer system of claim 9 , wherein the at least one hardware processor is configured to select the single window from a plurality of windows exposed by the runtime UI according to at least one of the plurality of attribute-value pairs.

11. The computer system of claim 9 , wherein the value indicates a count of the multiple windows to be searched for the runtime instance of the target element.

12. The computer system of claim 9 , wherein the element ID includes a first set of attribute-value pairs characterizing a window displaying the target element, and a second set of attribute-value pairs characterizing a content of the window, and wherein searching for the runtime instance of the target element comprises:

selecting a candidate window exposed by the runtime UI according to the first set of attribute-value pairs;

selecting a candidate UI element displayed within the candidate window;

determining whether attribute-value pairs characterizing the candidate element matches the second set of attribute-value pairs; and

in response, when yes, identifying the candidate element as the runtime instance of the target element.

13. The computer system of claim 8 , wherein the interaction comprises an item selected from a group consisting of performing a mouse click on the runtime instance of the target element, pressing a specific combination of keyboard keys, writing a sequence of characters into the runtime instance of the target element, grabbing an on-screen image of the runtime instance of the target element, and grabbing a text displayed by the runtime instance of the target element.

14. The computer system of claim 8 , wherein the target element comprises an item selected from a group consisting of a UI window, a menu, a button, a text area, and a form field.

15. 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 automatically identifying the runtime instance of the target element comprises:

determining according to the RPA script whether a multiplicity flag is set;

in response, when the multiplicity flag is set, searching for the runtime instance of the target element within multiple windows exposed by the runtime UI; and

when the multiplicity flag is not set, searching for the runtime instance of the target element within a single window exposed by the runtime UI.

16. 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 robot on an RPA client causes the RPA client to:

determine according to the RPA script whether the multiplicity flag is set;

in response, when the multiplicity flag is set, search for the runtime instance of the target element within multiple windows of a runtime UI exposed by the RPA client machine; and

when the multiplicity flag is not set, search for the runtime instance of the target element within a single window of the runtime UI.

Continuity (2)
Continuation 16730247 · Dec 30, 2019
Related Publication 20230081074A1 · Mar 16, 2023
Cited By (1)
US 12,645,213