- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Variables
- Arguments
- Imported Namespaces
- Trigger-based Attended Automation
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Automating Citrix Technologies
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- Extensions
- Troubleshooting
- About troubleshooting
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- Automating Applications Running Under a Different Windows User
- Validation of large Windows-legacy projects takes longer than expected
Non-greedy search
The non-greedy search makes it possible to identify the target element from a pool of similar applications, matching the attributes you specify. It needs to be included in the top-level tag of a selector.
idx
attribute, its value is set by default to *
.
Introducing non-greedy search in your selectors instructs it to search through all the active windows or browser instances which match the top-level tags of your selector, and not just the window instances in focus.
idx()
attribute, which needs to
be included in the top-level tag, as follows:
Option |
Description |
---|---|
|
Searches through all active window instances for the element matching the top-level tag attributes. The
<idx='1'> option only searches through
window instances in focus.
|
Selector type | Support |
---|---|
<wnd> | |
<html> | |
<webctrl> | |
<java> | |
<ctrl> | |
<uia> | |
<sap> | |
<silverlight> | |
Selectors inside the following containers:
| |
Universal Windows Platform (UWP) applications |
For the purpose of the example, let's assume that we want to build an automation process which interacts with the Windows 10 Calculator app.
However, there are two active instances, a Standard Calculator and a Programmer Calculator.
idx='*'
option in the top-level tag, in our case
<wnd>
.
The following selector is generated, which returns the Calculator instance we are looking for:
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App'
title='Calculator' idx='*' />
<uia cls='LandmarkTarget' />
<uia automationid='ProgrammerOperators' cls='NamedContainerAutomationPeer' name='Radix selection' />
<uia automationid='hexButton' cls='RadioButton' name='HexaDecimal 0 ' />
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App'
title='Calculator' idx='*' />
<uia cls='LandmarkTarget' />
<uia automationid='ProgrammerOperators' cls='NamedContainerAutomationPeer' name='Radix selection' />
<uia automationid='hexButton' cls='RadioButton' name='HexaDecimal 0 ' />