RPA Target Selection Across Multiple Matching UI Windows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automating interaction with user interfaces in Robotic Process Automation (RPA) is challenging due to the difficulty in unambiguously identifying target UI elements, especially when multiple windows with similar characteristics exist, leading to failed searches and incorrect conclusions about the presence of target elements.

Innovation Solution

The implementation of a multiplicity flag in RPA scripts allows the robot to search for target UI elements within multiple windows when set, ensuring comprehensive identification by modifying the element ID to include an attribute indicating the search should encompass all matching instances, thereby overcoming the issue of multiple windows with similar features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the robot searches for target UI elements using traditional methods, then the search process is simple, but it fails to correctly identify target elements when multiple windows with similar characteristics exist

Engineering Contradiction:
Improvetarget element identification accuracyVSAvoidsearch mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the window identification process by introducing a multiplicity flag that divides the search into two distinct paths: single-window search (when flag is not set) and multi-window search (when flag is set). This segmentation allows the system to handle different scenarios with appropriate search strategies, improving reliability without always requiring complex multi-window handling logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic search behavior based on the multiplicity flag state. The search mechanism adapts its scope dynamically - searching within a single window when the flag is not set, and across multiple windows when the flag is set. This dynamic adaptation resolves the contradiction by making the search complexity conditional rather than fixed, improving reliability only when needed.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the robot searches within multiple windows to handle similar UI elements, then identification accuracy improves, but search time and computational resources increase

Engineering Contradiction:
Improvetarget element identification accuracyVSAvoidsearch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The search scope dynamically adjusts based on the multiplicity flag. When the flag indicates single-window context, the search is confined to that window, minimizing search time. When the flag indicates multiple windows, the search expands accordingly. This dynamic approach ensures that time is not unnecessarily spent searching multiple windows when a single window suffices, while still maintaining accuracy when multiple windows are present.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the search parameter (search scope) based on the multiplicity flag state. By conditionalizing the search scope parameter, the system optimizes the balance between search thoroughness and search time. The flag acts as a parameter controller that adjusts the search boundary, ensuring comprehensive search only when necessary, thus reducing unnecessary time loss.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the RPA system uses a multiplicity flag to distinguish single-window from multi-window contexts, then target element identification becomes more reliable, but the script complexity increases

Engineering Contradiction:
Improvetarget element identification reliabilityVSAvoidRPA script complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the window multiplicity determination logic into a separate multiplicity flag parameter. This extraction isolates the complexity of determining whether to search in one or multiple windows into a single flag setting, rather than embedding complex decision logic throughout the RPA script. The flag serves as a simplified interface that manages complexity while maintaining reliable identification.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If the system searches for target elements in all windows, then no target element is missed, but false positives increase when similar elements exist in different windows

Engineering Contradiction:
Improvetarget element detection completenessVSAvoidtarget element identification precision
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The search precision dynamically adapts to the window context. When the multiplicity flag indicates a single window, the search is precisely confined to that window, avoiding false positives from other windows. When the flag indicates multiple windows, the search expands but uses the flag-based context to maintain precision by understanding the intended search scope. This dynamic precision control resolves the contradiction between completeness and precision.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11635977B2Enhanced target selection for robotic process automation
Publication Date: 2023.04.25 UIPATH INC
  • US11635977B2 patent drawing
  • US11635977B2 patent drawing
  • US11635977B2 patent drawing

AI summary

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.)