- Overview
- UI Automation
- About the UI Automation activity package
- Applications and technologies automated with UI Automation
- Project compatibility
- UI-ANA-016 - Pull Open Browser URL
- UI-ANA-017 - ContinueOnError True
- UI-ANA-018 - List OCR/Image Activities
- UI-DBP-006 - Container Usage
- UI-DBP-013 - Excel Automation Misuse
- UI-DBP-030 - Forbidden Variables Usage In Selectors
- UI-DBP-031 - Activity verification
- UI-PRR-001 - Simulate Click
- UI-PRR-002 - Simulate Type
- UI-PRR-003 - Open Application Misuse
- UI-PRR-004 - Hardcoded Delays
- UI-REL-001 - Large Idx in Selectors
- UI-SEC-004 - Selector Email Data
- UI-SEC-010 - App/Url Restrictions
- UI-USG-011 - Non Allowed Attributes
- UX-SEC-010 - App/Url Restrictions
- UX-DBP-029 - Insecure Password Use
- UI-PST-001 - Audit Log Level in Project Settings
- UiPath Browser Migration Tool
- Clipping region
- Computer Vision Recorder
- Activities index
- Activate
- Anchor Base
- Attach Browser
- Attach Window
- Block User Input
- Callout
- Check
- Click
- Click Image
- Click Image Trigger
- Click OCR Text
- Click Text
- Click Trigger
- Close Application
- Close Tab
- Close Window
- Context Aware Anchor
- Copy Selected Text
- Element Attribute Change Trigger
- Element Exists
- Element Scope
- Element State Change Trigger
- Export UI Tree
- Extract Structured Data
- Find Children
- Find Element
- Find Image
- Find Image Matches
- Find OCR Text Position
- Find Relative Element
- Find Text Position
- Get Active Window
- Get Ancestor
- Get Attribute
- Get Event Info
- Get From Clipboard
- Get Full Text
- Get OCR Text
- Get Password
- Get Position
- Get Source Element
- Get Text
- Get Visible Text
- Go Back
- Go Forward
- Go Home
- Google Cloud Vision OCR
- Hide Window
- Highlight
- Hotkey Trigger
- Hover
- Hover Image
- Hover OCR Text
- Hover Text
- Image Exists
- Indicate On Screen
- Inject .NET Code
- Inject Js Script
- Invoke ActiveX Method
- Key Press Trigger
- Load Image
- Maximize Window
- Microsoft Azure Computer Vision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Minimize Window
- Monitor Events
- Mouse Trigger
- Move Window
- Navigate To
- OCR Text Exists
- On Element Appear
- On Element Vanish
- On Image Appear
- On Image Vanish
- Open Application
- Open Browser
- Refresh Browser
- Replay User Event
- Restore Window
- Save Image
- Select Item
- Select Multiple Items
- Send Hotkey
- Set Clipping Region
- Set Focus
- Set Text
- Set To Clipboard
- Set Web Attribute
- Show Window
- Start Process
- System Trigger
- Take Screenshot
- Tesseract OCR
- Text Exists
- Tooltip
- Type Into
- Type Secure Text
- Use Foreground
- Wait Attribute
- Wait Element Vanish
- Wait Image Vanish
- Accessibility Check
- Application Event Trigger
- Block User Input
- Check/Uncheck
- Check App State
- Check Element
- Click
- Click Event Trigger
- Drag and Drop
- Extract Table Data
- Find Elements
- For Each UI Element
- Get Browser Data
- Get Clipboard
- Get Text
- Get URL
- Go to URL
- Highlight
- Hover
- Inject Js Script
- Keyboard Shortcuts
- Keypress Event Trigger
- Mouse Scroll
- Navigate Browser
- Select Item
- Set Browser Data
- Set Clipboard
- Set Runtime Browser
- Set Focus
- Set Text
- Take Screenshot
- Type Into
- Unblock User Input
- Use Application/Browser
- Window Operation
- Perform browser search and retrieve results using UI Automation APIs
- Web Browsing
- Find Images
- Click Images
- Trigger and Monitor Events
- Create and Override Files
- HTML Pages: Extract and Manipulate Information
- Window Manipulation
- Automated List Selection
- Find and Manipulate Window Elements
- Manage Text Automation
- Load and Process Images
- Manage Mouse Activated Actions
- Automate Application Runtime
- Automated Run of a Local Application
- Browser Navigation
- Web Automation
- Trigger Scope Example
- Enable UI Automation support in DevExpress
- Computer Vision Local Server
- Mobile Automation
- Release notes
- About the mobile device automation architecture
- Project compatibility
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Install App
- Manage Current App
- Manage Other App
- Open DeepLink
- Open URL
- Mobile Device Connection
- Directional Swipe
- Draw Pattern
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Take Screenshot
- Take Screenshot Part
- Element Exists
- Execute Command
- Get Attribute
- Get Selected Item
- Get Text
- Set Selected Item
- Set Text
- Swipe
- Tap
- Type Text
- Terminal
- Release notes
- About the Terminal activity package
- Project compatibility
- Best practices
- Find Text
- Get Color at Position
- Get Cursor Position
- Get Field
- Get Field at Position
- Get Screen Area
- Get Text
- Get Text at Position
- Move Cursor
- Move Cursor to Text
- Send Control Key
- Send Keys
- Send Keys Secure
- Set Field
- Set Field at Position
- Terminal Session
- Wait Field Text
- Wait Screen Ready
- Wait Screen Text
- Wait Text at Position

UI Automation activities
Example of Using Text Automation
To exemplify the automation of a process by using text recognition activities, we created an automation project that opens Internet Explorer and navigates to a Wikipedia article with tables of historical exchange rates to the United States dollar. It extracts data from the table for recent years, displays it in the Output panel, and checks if the currency Euro is found in the table.
It is recommended to run your web automations on Internet Explorer 11 and above, Mozilla Firefox 50 or above, or the latest version of Google Chrome.
- Open Internet Explorer and navigate to https://en.wikipedia.org/wiki/Tables_of_historical_exchange_rates_to_the_United_States_dollar#Table_for_recent_years.
- In Studio, create a new automation process.
- From the Activities panel, add an Open Browser activity to the Designer panel and, in the Url field, type:
"https://en.wikipedia.org/wiki/Tables_of_historical_exchange_rates_to_the_United_States_dollar#Table_for_recent_years".
- In the Design ribbon tab, in the Wizards group, click Data Scraping. The Extract Wizard is displayed.
- Click Next, select a cell from the Table for recent years on the web page, and then click Yes when prompted to extract the data from the whole table. A preview of the data is displayed in the Preview Data wizard step.
- In the Maximum number of results field, type 200, and then click Finish. We need to do this because our table contains a large number of entries and we want to make sure the entire table is extracted.
- In the Indicate Next Link window, click No because our data does not span multiple pages. The process is updated and a Data Scraping sequence is displayed in the Designer panel. In this sequence, an Attach Browser activity is generated, containing an Extract Data activity that retrieves the table contents. The data is stored in the automatically generated DataTable variable
ExtractDataTable.

-
Create a new String variable called
GetTextwith the scope set to Sequence. -
Add an Output Data Table activity in the Do container of the Attach Browser activity, after the Extract Data activity. This activity converts the table data to a string that can be displayed in the Output panel.
-
Select the Output Data Table activity, add the
ExtractDataTablevariable in the DataTable field, and theGetTextvariable in the Text field. -
Add a Write Line activity after the Output Data Table one, and add the
GetTextvariable in the Text field. In this way, the data extracted from the table is written in the Output panel.
-
Add a Delay activity after the Data Scraping sequence and set the Duration property to
00:00:03(3 seconds). This delay has the purpose of allowing the web page to become fully loaded before the next activity is performed.
-
In the Variables panel, create a new variable, called
GetExists, and set the type to Boolean and the scope to Sequence. -
Add a Text Exists activity after the Delay activity and type
"Euro"in the Text field. Click the Indicate on screen button and then click the table cell with Euro in the previously opened browser page. A selector is generated for the UI element. In this case, the activity checks if the wordEurois found in the table.
-
Select the Text Exists activity and then, from the Properties panel, insert the
GetExistsvariable in the Exists field. -
Add an If activity after the Text Exists activity and insert the
GetExistsvariable in the Condition field. -
Add two Message Box activities, one in the Then section, the other in the Else section of the If activity.
- Select the Message Box activity in the Then section and type
"Euro appears in the table."in the Text field. This message is displayed if the wordEurois found in the table. - Select the Message Box activity in the Else section and type
"Euro does not appear in the table."in the Text field. This message is displayed if the wordEurois not found in the table.
- Select the Message Box activity in the Then section and type
Your workflow should look like this:

- Press F5 to execute the project. Note that the data from the recent exchange rates table is extracted and displayed in the Output panel, and a message box is displayed, stating whether or not the word
Eurowas found.