To automate specific actions in the user interface, you are required to interact with various windows, buttons, drop-down lists and many others. Most RPA products do this by relying on the screen position of UI elements, a method that is not at all dependable.
To overcome this problem, UiPath 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. UiPath Studio cannot predict these changes and, therefore, you might have to manually generate some selectors.
A selector has the following structure:
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'/>
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 stored in the Properties panel of activities, under Input > Target > Selector. All activities related to graphical elements have this property.
The Selector Editor window enables you to see the automatically-generated selector and edit it and its attributes. To open this window, click the Ellipsis button next to the Selector field, in the Properties panel.
The Edit Attributes section contains all the application components needed to identify the target application (a window, a button etc.). The Edit Selector section holds the actual selector. Both of these sections are editable.