studio
2024.10
false
UiPath logo, featuring letters U and I in white

Studio User Guide

Last updated Jul 1, 2025

About Selectors

To automate specific actions in the user interface, you are required to interact with various windows, buttons, drop-down lists and many others. One of the ways in which UI elements can be identified is by using their position on the screen, but this can be unreliable.

To overcome this problem, Studio uses what we call selectors. These store the attributes of a graphical user interface element and its parents, in the shape of an XML fragment.

Most of the times, selectors are automatically generated by Studio and do not require further input from you, especially if the apps you are trying to automate have a static user interface.

However, some software programs have changing layouts and attribute nodes with volatile values, such as some web-apps. Studio cannot predict these changes and, therefore, you might have to manually generate some selectors.

A selector has the following structure:

<node_1/><node_2/>...<node_N/><node_1/><node_2/>...<node_N/>

The last node represents the GUI element that interests you, and all the previous ones represent the parents of that element. <node_1> is usually referred to as a root node, and represents the top window of the app.

Each node has one or more attributes that help you correctly identify a specific level of the selected application.

Each node has the following format: 

<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/><ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>

Every attribute has an assigned value. It is important to pick attributes with a constant value. If the value of an attribute changes each time the app is started, then the selector will not be able to correctly identify the element.

Selectors are displayed in the Properties panel of activities, under Input > Target > Selector. All activities related to graphical elements have this property.



The Selection Options window enables you to select and edit a target. To access this window, in the Workflow Designer panel, click the Options button in the body of an activity and select Indicate target on screen or Edit target.



The Selector Editor window enables you to see the automatically-generated selector and edit it and its attributes. To access this window, use the Ellipsis button next to the Selector field, in the Properties panel.



Option

Description

Validate

The button shows the status of the selector by checking the validity of the selector definition and the visibility of the target element on the screen.

The Validate button has three states:

  • docs image Selector is being validated
  • docs image Valid selector
  • docs image Invalid selector
  • docs image Modified selector, revalidate

The button is correlated with UI Explorer validation states.

Indicate Element

Indicate a new UI element to replace the previous one.

Repair

Enables you to re-indicate the same target UI element and repair the selector. This operation does not completely replace the previous selector. The button is available only when the selector is invalid.

Highlight

Brings the target element in the foreground. The highlight stays on until the option is disabled with a click. The button is enabled only if the selector is valid.

Edit Attributes

Contains all the application components needed to identify the target application (a window, a button etc.). This section is editable.

Edit Selector

Holds the actual selector. This section is editable.

Open in UI Explorer

Launches the UI Explorer. The option is enabled only for valid selectors.

Note: In some situations, when Studio and the targeted application are opened with different elevated privileges, the selector might not work. We recommend to always open both applications with the same privileges.

Supported Tags and Attributes

The following tables present the compatibility between tags and attributes used to build selectors and the selector capability.

On macOS the selector types wnd, ax, java, and sap can be used for different use cases:
  • AX selectors are available for all types of macOS desktop applications.
  • SAP selectors are available for SAP GUI for Java on macOS and require a SAP server with scripting enabled. These selectors are the most stable for SAP applications and offer the best range of features, like extracting table data.
  • Java selectors are available for Java applications. Since SAP GUI for Java is also a Java based application, one can use the Java selection strategy to switch from the default one and get Java selectors instead.
Note: Selectors generated for Java applications which contain multiple WND tags cannot be used with events monitoring.

WND

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

app

available

available

available

Windows

macOS

cls

available

available

available

Windows

title

available

available

available

Windows

macOS

aaname

available

available

available

Windows

ctrlname (WinForms)

available

available

available

Windows

ctrlid (WinForms)

available

available

available

Windows

idx

not available

not available

not available

Windows

macOS

tid

not available

not available

not available

Windows

macOS

pid

not available

not available

not available

Windows

macOS

isremoteapp

not available

not available

not available

Windows

aastate

available

available

available

Windows
roleavailableavailableavailablemacOS
enabledavailableavailableavailablemacOS
focusedavailableavailableavailablemacOS
selectedavailableavailableavailablemacOS
expandedavailableavailableavailablemacOS

sapClient (SAP)

available

available

available

Windows

macOS

sapLanguage (SAP)

available

available

available

Windows

macOS

sapProgram (SAP)

available

available

available

Windows

macOS

sapScreen (SAP)

not available

not available

not available

Windows

macOS

sapSession (SAP)

not available

not available

not available

Windows

macOS

sapSysName (SAP)

available

available

available

Windows

macOS

sapSysNumber (SAP)

not available

not available

not available

Windows

macOS

sapSysSessionId (SAP)

available

available

available

Windows

macOS

sapTransaction (SAP)

available

available

available

Windows

macOS

sapUser (SAP)

available

available

available

Windows

macOS

curlApplet (Curl) availableavailableavailableWindows

HTML

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

url

available

available

available

Windows

macOS

Linux

htmlwindowname

available

available

available

Windows

macOS

Linux

title

available

available

available

Windows

macOS

Linux

class

available

available

available

Windows

macOS

Linux

app

not available

not available

not available

Windows

macOS

Linux

idx

not available

not available

not available

Windows

macOS

Linux

pid

not available

not available

not available

Windows

macOS

Linux

tid

not available

not available

not available

Windows

macOS

Linux

excludehwnd

not available

not available

not available

Windows

macOS

Linux

bsid (Browser Session ID)

not available

not available

not available

Windows

macOS

Linux

isremoteapp

not available

not available

not available

Windows

macOS

Linux

WEBCTRL

The tag and idx attributes use string values. All other WEBCTRL attributes have dynamic values.

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

tag

available

available

available

Windows

macOS

Linux

idx

available

available

available

Windows

macOS

Linux

aaname

available

available

available

Windows

macOS

Linux

name

available

available

available

Windows

macOS

Linux

id

available

available

available

Windows

macOS

Linux

parentid

available

available

available

Windows

macOS

Linux

class

available

available

available

Windows

macOS

Linux

css-selector

not available

not available

not available

Windows

macOS

Linux

innertext

available

available

available

Windows

macOS

Linux

visibleinnertext

available

available

available

Windows

macOS

Linux

isleaf

available

available

available

Windows

macOS

Linux

parentclass

available

available

available

Windows

macOS

Linux

parentname

available

available

available

Windows

macOS

Linux

src

available

available

available

Windows

macOS

Linux

href

available

available

available

Windows

macOS

Linux

tableCol

available

available

available

Windows

macOS

Linux

tableRow

available

available

available

Windows

macOS

Linux

colName

available

available

available

Windows

macOS

Linux

rowName

available

available

available

Windows

macOS

Linux

aria-label

available

available

available

Windows

macOS

Linux

aria-labelledby

available

available

available

Windows

macOS

Linux

CTRL

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

role

available

available

available

Windows

name

available

available

available

Windows

automationid

available

available

available

Windows

labeledby

available

available

available

Windows

aastate

available

available

available

Windows

virtualname

available

available

available

Windows

text

available

available

available

Windows

rowName

available

available

available

Windows

idx

not available

not available

not available

Windows

UIA

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

accelkey (Accelerator Key)

available

available

available

Windows

acskey (Access Key)

available

available

available

Windows

automationid

available

available

available

Windows

cls

available

available

available

Windows

helpText

available

available

available

Windows

legacyAccHelp (Legacy Accessible Help)

available

available

available

Windows

enabled

available

available

available

Windows

kbfocus (Is Keyboard Focusable)

available

available

available

Windows

ispwd (Is Password)

available

available

available

Windows

itemstatus

available

available

available

Windows

itemtype

available

available

available

Windows

rtid (Runtime ID)

available

available

available

Windows

role

available

available

available

Windows

name

available

available

available

Windows

pid

available

available

available

Windows

tableRow

not available

not available

not available

Windows

tableCol

not available

not available

not available

Windows

rowName

available

available

available

Windows

colName

available

available

available

Windows

idx

not available

not available

not available

Windows

JAVA

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

role

available

available

available

Windows

macOS

name

available

available

available

Windows

macOS

virtualname

available

available

available

Windows

macOS

javastate

available

available

available

Windows

macOS

tableRow

not available

not available

not available

Windows

macOS

tableCol

not available

not available

not available

Windows

macOS

rowName

available

available

available

Windows

macOS

colName

available

available

available

Windows

macOS

idx

not available

not available

not available

Windows

macOS

clsavailableavailableavailable

Windows

macOS

accessibleClassavailableavailableavailable

Windows

macOS

SAP

Attribute

Fuzzy

RegEx

Case-Sensitive

OS

id

available

available

available

Windows

macOS

leafid

This attribute is not exposed in the Attribute panel because it is mutual-exclusive with the id attribute. It can be added manually.

available

available

available

Windows

macOS

tableRow

not available

not available

not available

Windows

macOS

tableCol

not available

not available

not available

Windows

macOS

colName

available

available

available

Windows

macOS

relpath

available

available

available

Windows

macOS

itemId

available

available

available

Windows

macOS

AttributeFuzzyRegExCase-SensitiveOS
roleavailableavailableavailablemacOS
subroleavailableavailableavailablemacOS
nameavailableavailableavailablemacOS
titleavailableavailableavailablemacOS
identifieravailableavailableavailablemacOS
filenameavailableavailableavailablemacOS
urlavailableavailableavailablemacOS
helpavailableavailableavailablemacOS
enabledavailableavailableavailablemacOS
focusedavailableavailableavailablemacOS
selectedavailableavailableavailablemacOS
expandedavailableavailableavailablemacOS
idxnot availablenot availablenot availablemacOS

CURL

AttributeFuzzyRegExCase-SensitiveOS
clsavailableavailableavailableWindows
roleavailableavailableavailableWindows
textavailableavailableavailableWindows
titleavailableavailableavailableWindows
tableRownot availablenot availablenot availableWindows
tableColnot availablenot availablenot availableWindows
colHeaderavailableavailableavailableWindows
idxnot availablenot availablenot availableWindows

SILVERLIGHT

Please note that the Silverlight tag does not support Fuzzy, RegEx, and Case-Sensitive capabilities.

AttributeFuzzyRegExCase-SensitiveOS
rolenot availablenot availablenot availableWindows
namenot availablenot availablenot availableWindows
textnot availablenot availablenot availableWindows
idxnot availablenot availablenot availableWindows

RDP

The RDP tag is used for remote automation and its attributes are identical to WND tag.

AttributeFuzzyRegExCase-SensitiveOS
appavailableavailableavailableWindows
clsavailableavailableavailableWindows
titleavailableavailableavailableWindows
aanameavailableavailableavailableWindows
ctrlname (WinForms) availableavailableavailableWindows
ctrlid (WinForms) availableavailableavailableWindows
idxnot availablenot availablenot availableWindows
tidnot availablenot availablenot availableWindows
pidnot availablenot availablenot availableWindows
  • Supported Tags and Attributes
  • WND
  • HTML
  • WEBCTRL
  • CTRL
  • UIA
  • JAVA
  • SAP
  • AX
  • CURL
  • SILVERLIGHT
  • RDP

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2025 UiPath. All rights reserved.