IP Library Granted Patent US 12,596,343
Granted Patent B2
US 12,596,343 · App. 18/160,904 · Granted Apr 7, 2026

Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation

Inventors: Dan Munteanu (Bucharest, RO); Ion Miron (Bucharest, RO)
Assignee: UiPath, Inc.
G05B19/0426G05B13/0275G06F3/04815G06F3/04842G06F8/34G06F16/2428G06F16/3329G06F16/535G06F18/22G06N7/02G06F3/0484G06F2209/545H04Q2213/13525
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 12,596,343
App. No.
18/160,904
Granted
Apr 7, 2026
Kind
B2
Abstract

Graphical element search technique selection, fuzzy logic selection for anchors and targets, and hierarchical graphical element identification for robotic process automation (RPA) are disclosed. The fuzzy logic selection of anchors and targets may be part of a larger, tiered, or hierarchical process for identifying graphical elements in the UI. When a selector for a UI element is not found with at least a confidence threshold, similar elements potentially corresponding to the selector for a UI element target may be searched based on fuzzy matching of the target and corresponding anchor(s). Geometric matching may also be employed between the target UI element and its respective anchor(s). The combination of fuzzy matching and geometric matching may allow for more flexible and accurate identification of the exact selector with which an RPA robot is attempting to interact.

Claims (79)

1 . A computer-implemented method, comprising:

designating a target user interface (UI) element in an image of a portion or all of a Ul of an application or of a UI of a live application on which automation is to be performed at design time, by a robotic process automation (RPA) designer application, wherein the designating comprises a user selecting the UI element directly on the Ul of the application or the Ul of the live application displayed on a display device;

receiving a selection of one or more search algorithms of a plurality of search algorithms at design time, by the RPA designer application via a selection options pane, wherein the one or more search algorithms comprise at least one fuzzy selector; and

configuring an activity of an RPA workflow for an RPA robot to execute the selected one or more search algorithms comprising the at least one fuzzy selector at design time, by the RPA designer application, wherein

an accuracy of the at least one fuzzy selector is configurable via the selection options pane.

2 . The computer-implemented method of claim 1 , wherein the one or more search algorithms additionally comprise a selector search, a target and anchor search, a fuzzy target and anchor search, image matching, text matching, computer vision (CV) matching, or a combination thereof.

3 . The computer-implemented method of claim 2 , wherein the one or more search algorithms comprise parsing a UI tree for the UI of the application to identify one or more attributes of the target Ul element, one or more anchors, one or more tags, or a combination thereof.

4 . The computer-implemented method of claim 3 , wherein all tags in the Ul tree are found in one parse.

5 . The computer-implemented method of claim 2 , wherein

the one or more selected search algorithms comprise text matching, and

the text matching requires an exact match for text of candidates for the target Ul element.

6 . The computer-implemented method of claim 2 , wherein

the one or more selected search algorithms comprise image matching, and

a match of an image associated with the target Ul element is mandatory for the image matching to find a match.

7 . The computer-implemented method of claim 2 , wherein

the at least one fuzzy selector is configured to perform image matching.

8 . The computer-implemented method of claim 1 , wherein the configuring of the RPA workflow activity comprises configuring one or more anchors, one or more tag attributes, one or more accuracy levels, or a combination thereof.

9 . The computer-implemented method of claim 1 , wherein the one or more selected search algorithms in the activity are configured to be executed in an order, and

execution is stopped when a currently executing search algorithm finds the target UI element.

10 . The computer-implemented method of claim 1 , further comprising:

executing a selector search for the target UI element at runtime to identify the target UI element, by the RPA robot implementing the RPA workflow;

responsive to the target UI element not being found, executing a fuzzy selector search via the at least one fuzzy selector, a target and anchor search, a fuzzy target and anchor search, image matching, text matching, computer vision (CV) matching, or a combination thereof, to identify the target UI element, by the RPA robot; and

performing an interaction with the identified target UI element, by the RPA robot, based on the configured activity.

11 . The computer-implemented method of claim 10 , wherein

two or more of the fuzzy selector search, the target and anchor search, the fuzzy target and anchor search, the image matching, the text matching, and the computer vision (CV) matching are executed, and

the execution of the two or more of the fuzzy selector search, the target and anchor search, the fuzzy target and anchor search, the image matching, the text matching, and the CV matching is performed in an order in the configured activity.

12 . The computer-implemented method of claim 10 , wherein

the fuzzy target and anchor search is performed by the RPA robot, and

the fuzzy target and anchor search comprises determining the target and at least one anchor using fuzzy matching and performing geometric matching on the target and the at least one anchor determined using the fuzzy matching.

13 . The computer-implemented method of claim 12 , wherein the fuzzy target and anchor search comprises calling a driver,

a single driver call is made for the target and the at least one anchor, and

the driver obtains all candidates for the target and the at least one anchor in a single traversal of a UI tree for the application associated with the UI.

14 . The computer-implemented method of claim 1 , further comprising:

executing a selector search and at least one of a fuzzy selector search via the at least one fuzzy selector, a target and anchor search, a fuzzy target and anchor search, image matching, text matching, and computer vision (CV) matching for the target UI element at runtime, by the RPA robot configured to implement the RPA workflow;

selecting a best result from the selector search and the at least one of the fuzzy selector search, the target and anchor search, the fuzzy target and anchor search, the image matching, the text matching, and the CV matching based on validation scores, by the RPA robot, to identify the target Ul element; and

performing an interaction with the identified target Ul element, by the RPA robot, based on the configured activity.

15 . A non-transitory computer-readable medium storing a computer program for a robotic process automation (RPA) designer application, the computer program configured to cause at least one processor to:

designate a target user interface (UI) element in an image of a portion or all of a UI of an application or of a UI of a live application on which automation is to be performed at design time, wherein the designating comprises a user selecting the UI element directly on the UI of the application or the Ul of the live application displayed on a display device;

receive a selection of one or more search algorithms of a plurality of search algorithms at design time via a selection options pane, wherein the one or more search algorithms comprise at least one fuzzy selector; and

configure an activity of an RPA workflow te for an RPA robot to execute the selected one or more search algorithms at design time, wherein

the one or more search algorithms comprise a selector search, a fuzzy selector search performed via the at least one fuzzy selector, a target and anchor search, a fuzzy target and anchor search, image matching, text matching, computer vision (CV) matching, or a combination thereof, and

an accuracy of the at least one fuzzy selector is configurable via the selection options pane.

16 . The non-transitory computer-readable medium of claim 15 , wherein

the one or more search algorithms comprise parsing a UI tree for the UI of the application to identify one or more attributes of the target UI element, one or more anchors, one or more tags, or a combination thereof, and

all tags in the UI tree are found in one parse.

17 . The non-transitory computer-readable medium of claim 15 , wherein

the one or more selected search algorithms comprise text matching, and

the text matching requires an exact match for text of candidates for the target UI element.

18 . The non-transitory computer-readable medium of claim 15 , wherein

the one or more selected search algorithms comprise image matching, and

a match of an image associated with the target UI element is mandatory for the image matching to find a match.

19 . The non-transitory computer-readable medium of claim 15 , wherein

the at least one fuzzy selector is configured to perform image matching.

20 . The non-transitory computer-readable medium of claim 15 , wherein the configuring of the RPA workflow activity comprises configuring one or more anchors, one or more tag attributes, one or more accuracy levels, or a combination thereof.

21 . The non-transitory computer-readable medium of claim 15 , wherein

the one or more selected search algorithms in the activity are configured to be executed in an order, and

execution is stopped when a currently executing search algorithm finds the target UI element.

22 . A computing system, comprising:

memory storing computer program instructions; and

at least one processor configured to execute the computer program instructions, wherein the computer program instructions are configured to cause at least one processor to:

designate a target user interface (UI) element in an image of a portion or all of a UI of an application or of a UI of a live application on which automation is to be performed at design time, wherein the designating comprises a user selecting the UI element directly on the UI of the application or the UI of the live application displayed on a display device;

receive a selection of one or more search algorithms of a plurality of search algorithms at design time via a selection options pane, wherein the one or more search algorithms comprise at least one fuzzy selector; and

configure an activity of an RPA workflow to for an RPA robot to execute the selected one or more search algorithms comprising the at least one fuzzy selector at design time, wherein

the one or more search algorithms comprise a selector search, a fuzzy selector search performed via the at least one fuzzy selector, a target and anchor search, a fuzzy target and anchor search, image matching, text matching, computer vision (CV) matching, or a combination thereof, and

an accuracy of the at least one fuzzy selector is configurable via the selection options pane.

23 . The computing system of claim 22 , wherein the computer program instructions comprise a computer program for a robotic process automation (RPA) designer application.

24 . The computing system of claim 22 , wherein

the one or more search algorithms comprise parsing a UI tree for the UI of the application to identify one or more attributes of the target Ul element, one or more anchors, one or more tags, or a combination thereof, and

all tags in the Ul tree are found in one parse.

25 . The computing system of claim 22 , wherein

the one or more selected search algorithms comprise text matching, and the text matching requires an exact match for text of candidates for the target UI element.

26 . The computing system of claim 22 , wherein

the one or more selected search algorithms comprise image matching, and a match of an image associated with the target UI element is mandatory for the image matching to find a match.

27 . The computing system of claim 22 , wherein

the at least one fuzzy selector is configured to perform image matching.

28 . The computing system of claim 22 , wherein the configuring of the RPA workflow activity comprises configuring one or more anchors, one or more tag attributes, one or more accuracy levels, or a combination thereof.

29 . The computing system of claim 22 , wherein

the one or more selected search algorithms in the activity are configured to be executed in an order, and

execution is stopped when a currently executing search algorithm finds the target UI element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: MUNTEANU, DAN; MIRON, ION
To: UIPATH, INC.
Reel/Frame 062517/0741 →
Continuity (2)
Continuation 16871696 · May 11, 2020
Related Publication 20230168654A1 · Jun 1, 2023
References Cited (90)
US 8768041B2 · Shirkhodaie et al. · 2014 [cited by applicant]
US 9014430B2 · Hodder et al. · 2015 [cited by applicant]
US 9050035B2 · Yao et al. · 2015 [cited by applicant]
US 9075918B1 · Chandra · 2015 [cited by examiner]
US 9314157B2 · Yao et al. · 2016 [cited by applicant]
US 9424167B2 · Lee · 2016 [cited by examiner]
US 9555544B2 · Bataller et al. · 2017 [cited by applicant]
US 9600401B1 · Haischt · 2017 [cited by examiner]
US 9846634B2 · Ji et al. · 2017 [cited by applicant]
US 9886174B2 · Clark et al. · 2018 [cited by applicant]
US 9965139B2 · Nychis · 2018 [cited by examiner]
US 10096033B2 · Heath · 2018 [cited by applicant]
US 10261658B2 · Zhang et al. · 2019 [cited by applicant]
US 10303349B2 · Lanzkron et al. · 2019 [cited by applicant]
US 10489461B2 · Bhattacharjee et al. · 2019 [cited by applicant]
US 10817314B1 · Ganesan et al. · 2020 [cited by applicant]
US 10877782B2 · Zohar et al. · 2020 [cited by applicant]
US 10878531B2 · Viet et al. · 2020 [cited by applicant]
US 10885423B1 · Voicu et al. · 2021 [cited by applicant]
US 10956295B1 · Long et al. · 2021 [cited by applicant]
US 10970098B2 · Karoliwal et al. · 2021 [cited by applicant]
US 11117259B2 · Hall · 2021 [cited by applicant]
US 11176443B1 · Selva · 2021 [cited by examiner]
US 11249729B2 · Voicu et al. · 2022 [cited by applicant]
US 11281936B2 · Ma et al. · 2022 [cited by applicant]
US 11327826B1 · Shama et al. · 2022 [cited by applicant]
US 11334828B2 · Negulescu · 2022 [cited by applicant]
US 11366439B2 · Dubey et al. · 2022 [cited by applicant]
US 11372517B2 · Munteanu · 2022 [cited by applicant]
US 11372650B2 · Perera et al. · 2022 [cited by applicant]
US 11403118B2 · Munteanu · 2022 [cited by applicant]
US 11403201B2 · Balasubramanian et al. · 2022 [cited by applicant]
US 11461164B2 · Dines · 2022 [cited by applicant]
US 11481304B1 · Kakhandiki · 2022 [cited by examiner]
US 11500762B2 · Hamid · 2022 [cited by applicant]
US 11720580B1 · Hirsch · 2023 [cited by examiner]
US 12164934B1 · Damarapati · 2024 [cited by examiner]
US 20080086700A1 · Rodriguez et al. · 2008 [cited by applicant]
US 20140047365A1 · Clark et al. · 2014 [cited by applicant]
US 20140253559A1 · Li et al. · 2014 [cited by applicant]
US 20150074609A1 · Lanzkron et al. · 2015 [cited by applicant]
US 20150378876A1 · Ji et al. · 2015 [cited by applicant]
US 20170177743A1 · Bhattacharjee et al. · 2017 [cited by applicant]
US 20180157386A1 · Su · 2018 [cited by applicant]
US 20180173614A1 · Gong · 2018 [cited by examiner]
US 20180189170A1 · Dwarakanath · 2018 [cited by examiner]
US 20180204111A1 · Zadeh et al. · 2018 [cited by applicant]
US 20180217722A1 · Venkataraman et al. · 2018 [cited by applicant]
US 20180322004A1 · Jain et al. · 2018 [cited by applicant]
US 20180370029A1 · Hall et al. · 2018 [cited by applicant]
US 20190050323A1 · Kogan · 2019 [cited by examiner]
US 20190066013A1 · Gupta et al. · 2019 [cited by applicant]
US 20190141125A1 · Ogrinz · 2019 [cited by examiner]
US 20190340114A1 · Podoler · 2019 [cited by examiner]
US 20200103244A1 · Cella · 2020 [cited by examiner]
US 20200206920A1 · Ma · 2020 [cited by examiner]
US 20200401431A1 · Rashid · 2020 [cited by examiner]
US 20210042126A1 · Perera · 2021 [cited by examiner]
US 20210109717A1 · Voicu · 2021 [cited by examiner]
US 20210122051A1 · An · 2021 [cited by examiner]
US 20210141619A1 · Magureanu et al. · 2021 [cited by applicant]
US 20210158256A1 · Negulescu · 2021 [cited by examiner]
US 20210252702A1 · Hall · 2021 [cited by applicant]
US 20210312299A1 · Segal et al. · 2021 [cited by applicant]
US 20210326245A1 · Arbon et al. · 2021 [cited by applicant]
CN 111126781A · 2020 [cited by examiner]
CN 114424167A · 2022 [cited by examiner]
CN 114556393A · 2022 [cited by examiner]
EP 3112965A1 · 2017 [cited by applicant]
EP 4242848B1 · 2024 [cited by examiner]
EP 4575830A1 · 2025 [cited by examiner]
KR 1020140043689A · 2014 [cited by applicant]
TW I744421B · 2021 [cited by examiner]
Aaron N Tutor, “Final Office Action”, issued Feb. 9, 2024, U.S. Appl. No. 16/871,696. [cited by applicant]
Aaron N Tutor, “Non-Final Office Action”, issued Aug. 25, 2023, U.S. Appl. No. 16/871,696. [cited by applicant]
Examination Report issued in EP Application No. 20199161.9 on Jul. 11, 2023. [cited by applicant]
Nachar, et al., “Breaking down Captcha using edge corners and fuzzy logic segmentation/recognition technique”, Aug. 10, 2015, Security and Communication Networks, vol. 8, Issue 18, pp. 3995-4012. [cited by applicant]
Andrew J Rudy, “Non-Final Office Action”, issued Jan. 19, 2023, U.S. Appl. No. 16/871,696. [cited by applicant]
Andrew J Rudy, “Non-Final Office Action”, issued Sep. 12, 2022, U.S. Appl. No. 16/871,696. [cited by applicant]
European Search Report issued in EP Application No. 20199161 on Mar. 16, 2021. [cited by applicant]
International Search Report and Written Opinion of the International Search Authority issued for PCT Application No. PCT/US2020/052149 on Feb. 4, 2021. [cited by applicant]
Maciej Kuzmicz, “Fuzzy string matching for your selectors,” availabe at https://forum.uipath.com/t/featureblog-19-10-fuzzy-string-matching-for-your-selectors/159036 (Oct. 1, 2019). [cited by applicant]
Notice of Allowance issued in Korean Application No. 10-2020-7028119 on Jul. 28, 2022. [cited by applicant]
Office Action issued in Korean Application No. 10-2020-7028119 on Nov. 30, 2021. [cited by applicant]
Param Kahlon, “UiPath 2020.3 Monthly Update,” available at https://www.uipath.com/blog/march-2020-uipath-monthly-update (Mar. 23, 2021). [cited by applicant]
Quality Thought UiPath Material available at https://www.qualitythought.in/wp-content/uploads/2019/07/UI-PATH-MATERIAL.pdf (Jul. 31, 2019). [cited by applicant]
Tom Yeh et al., “Sikuli: Using GUI Screenshots for Search and Automation,” Proceedings of the 22nd Annual ACM Symposium on User Interface Software and Technology: Victoria, British Columbia, Oct. 4-7, 2009, ACM, New Yor… [cited by applicant]
Aaron N Tutor, “Non-Final Office Action”, issued Oct. 15, 2024, U.S. Appl. No. 16/871,696. [cited by applicant]
Aaron N Tutor, “Non-Final Office Action”, issued Sep. 9, 2025, U.S. Appl. No. 16/871,696. [cited by applicant]
Aaron N Tutor, “Non-Final Office Action”, issued Apr. 7, 2025, U.S. Appl. No. 16/871,696. [cited by applicant]