Since the inception of the internet, most organizations have developed browser-based applications to facilitate an online presence and digitally connect clients to their services.
As the number of web-based applications increased, companies and individuals started to fill out forms and the organizations would subsequently extract data from websites. This activity required the use of various tools to extract information in a more structured approach.
Information Technology leaders are constantly looking for new opportunities and technologies to help individuals automate their processes. As a result, they have introduced Robotic Process Automation (RPA), the use of automated software robots that mimic and integrate human actions within digital systems empowered by machine learning and artificial intelligence. While there are many RPA tools available in the market, The Forrester 2021 Report state that, "UiPath and Microsoft are two leaders in RPA industry and continuously introducing new features in their product to win the race."
The Canton Group has started a series of blogs evaluating and comparing features of UiPath and Microsoft Power Automate Desktop (PAD). This blog is the 2nd in the series and discusses Web Browser Automation.
Web Browser Automation
Web Browser Automation is an automation technique where a piece of code or software identifies web elements by using their attributes and manipulates them while keeping pace with website changes.
There are two methods of web automation;
- Using a Browser Extension or
- Via the WebDriver Protocol
Browser Extension
A browser extension is a small software module for customizing a web browser. An extension interacts with the browser to modify the user interface, to add or scrape data from the browser. Below is a list of extensions provided by UiPath and Microsoft for browser automation.
Microsoft Edge
UiPath: Yes
Microsoft Power Automate Desktop: No
Google Chrome
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Mozilla Firefox
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Supported Browsers | UiPath | Microsoft Power Automate Desktop |
---|---|---|
Microsoft Edge | Yes | Yes |
Google Chrome | Yes | Yes |
Mozilla Firefox | Yes | Yes |
Headless Automation via WebDriver Protocol
WebDriver is a popular protocol used to automate browsers. It exposes a Rest API in a separate executable from the browser itself. An advantage of using the WebDriver protocol is that browser automation does not necessarily have to rely on visual elements on the screen, such as window frames. Automations are executed in the background.
Microsoft Edge
UiPath: Yes
Microsoft Power Automate Desktop: -
Google Chrome
UiPath: Yes
Microsoft Power Automate Desktop: -
Mozilla Firefox
UiPath: Yes
Microsoft Power Automate Desktop: -
Supported Browsers | UiPath | Microsoft Power Automate Desktop |
---|---|---|
Microsoft Edge | Yes | - |
Google Chrome | Yes | - |
Mozilla Firefox | Yes | - |
Automation via the WebDriver protocol does not require you to install the corresponding browser extension, but it does require the corresponding WebDriver executable.
There are some limitations while working with WebDriver protocol using UiPath. For more details see: Known Issues and Limitations.
Activities to Automate Web Browsers
Both Microsoft PAD and UiPath provide activities or actions to manage the browser's window such as; open a new browser, move backward to the previously accessed page or forward, etc. The table below shows how the two platforms help developers handle the browser.
Launch URL in new browser
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Attach to running browser
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Navigate to URL
UiPath: Yes - The Navigate To activity loads the page in attached browser.
Microsoft Power Automate Desktop: Yes - The URL property of Go to Web Page action loads the page in attached browser.
Reload page
UiPath: Yes – "Refresh Browser" activity refreshes attached browser.
Microsoft Power Automate Desktop: Yes – The Navigate property of Go to Web page action reloads attached browser.
Inject JS script
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Inject .Net code
UiPath: Yes
Microsoft Power Automate Desktop: No
Features | UiPath | Microsoft Power Automate Desktop |
---|---|---|
Launch URL in new browser | Yes | Yes |
Attach to running browser | Yes | Yes |
Navigate to URL | Yes - The Navigate To activity loads the page in attached browser. | Yes - The URL property of Go to Web Page action loads the page in attached browser. |
Reload page | Yes – "Refresh Browser" activity refreshes attached browser. | Yes – The Navigate property of Go to Web page action reloads attached browser. |
Inject JS script | Yes | Yes |
Inject .Net code | Yes | No |
UI Element Selectors
To automate specific actions in the user interface, Selectors are required to interact with various windows, Popups, buttons, drop-down lists, and other elements of the user interface. The table below compares How UiPath and Power Automate Desktop empowers developers to find specific UI elements for automation.
Selectors with Wildcards
Wildcards are symbols that enable to replace zero or multiple characters in a string Like “*” replace zero or more character and “?” replace single character.
UiPath: Yes
Microsoft Power Automate Desktop: No
Full vs. Partial Selectors
Full Selectors Contain all the elements needed to identify a UI element, including the top-level window. Partial Selectors Do not contain information about the top-level window.
UiPath: Yes – Supports full and Partial selectors both.
Microsoft Power Automate Desktop: Yes – Supports full and partial selectors both. The Partial selectors are not working, if iFrame is being used on page.
Dynamic Selectors
A dynamic selector uses a variable or an argument as a property for the attribute of your target tag.
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Fuzzy Search
Fuzzy search capabilities enable you locate strings based on a pattern, rather than on an exact match to your input.
UiPath: Yes
Microsoft Power Automate Desktop: No
RegEx Search
A regular expression, or RegEx, is a special text string for describing a search pattern. This makes them ideally suited for searching, text processing, and data validation.
UiPath: Yes
Microsoft Power Automate Desktop: Yes
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.
UiPath: Yes
Microsoft Power Automate Desktop: No
Case-Sensitive Selectors
When a selector is built, the Case-Sensitive property makes it possible to identify elements by also taking into consideration the casing of an attribute's value.
UiPath: Yes – Case-Sensitive option can be enable/disable, it is disabled by default.
Microsoft Power Automate Desktop: Yes – Case-Sensitive is set by default and there is no option to enable or disable.
Features | UiPath | Microsoft Power Automate Desktop |
---|---|---|
Selectors with Wildcards Wildcards are symbols that enable to replace zero or multiple characters in a string Like “*” replace zero or more character and “?” replace single character. |
Yes | No |
Full vs. Partial Selectors Full Selectors Contain all the elements needed to identify a UI element, including the top-level window. Partial Selectors Do not contain information about the top-level window. |
Yes – Supports full and Partial selectors both. | Yes – Supports full and partial selectors both. The Partial selectors are not working, if iFrame is being used on page. |
Dynamic Selectors A dynamic selector uses a variable or an argument as a property for the attribute of your target tag. |
Yes | Yes |
Fuzzy Search Fuzzy search capabilities enable you locate strings based on a pattern, rather than on an exact match to your input. |
Yes | No |
RegEx Search A regular expression, or RegEx, is a special text string for describing a search pattern. This makes them ideally suited for searching, text processing, and data validation. |
Yes | Yes |
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. |
Yes | No |
Case-Sensitive Selectors When a selector is built, the Case-Sensitive property makes it possible to identify elements by also taking into consideration the casing of an attribute's value. |
Yes – Case-Sensitive option can be enable/disable, it is disabled by default. | Yes – Case-Sensitive is set by default and there is no option to enable or disable. |
UI Element/Object Repository
The UI Element or Object Repository is a central location in which the Application’s UI Elements are stored and managed. The Repository ensures the management and, reusability of UI Elements.
UI Element / Object Repository
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Accessible within the scope of project
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Accessible in multiple projects
UiPath: Yes - UiPath Object Repository empowers developers to build an UI API or Library for applications that can be utilize in same automation project or share it with the team to use in multiple projects.
Microsoft Power Automate Desktop: No
Features | UiPath | Microsoft Power Automate Desktop |
---|---|---|
UI Element / Object Repository | Yes | Yes |
Accessible within the scope of project | Yes | Yes |
Accessible in multiple projects | Yes - UiPath Object Repository empowers developers to build an UI API or Library for applications that can be utilize in same automation project or share it with the team to use in multiple projects. | No |
Web Recorder
Web Recorder is the functionality within the RPA framework that helps save time when automating tasks. The web recorder captures actions as we perform them on the screen and generates automation activities during the web recording. Power Automate Desktop and UiPath both provide tools for web recording.
Record actions performed within iFrames
UiPath: Yes
Microsoft Power Automate Desktop: No
Support Click Event
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Support to extract elements value
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Support to add text
UiPath: Yes
Microsoft Power Automate Desktop: Yes
Features | UiPath | Microsoft Power Automate Desktop |
---|---|---|
Record actions performed within iFrames | Yes | No |
Support Click Event | Yes | Yes |
Support to extract elements value | Yes | Yes |
Support to add text | Yes | Yes |
Scrape Structured Data from a Table
Structured data is a specific kind of information that is organized and presented in a predicted format.
Extracting Structured Data
UiPath: Yes - UiPath allows extracting structured data from a webpage with few clicks using a wizard.
Microsoft Power Automate Desktop: Yes – "Extract Data from Webpage" action extracts data into a data table.
Extract Data from Table
UiPath: Yes - The "Table Extraction" functionality helps developers to define a series of similar elements and extracted as a column.
Microsoft Power Automate Desktop: No – Power Automate Desktop does not have such functionality, but this can be achieved using Selenium IDE in Power Automate UI Flows.
Extract Table data span on multiple pages
UiPath: Yes - UiPath allows to configure next button and scrapes data spans on multiple pages.
Microsoft Power Automate Desktop: -
Features | UiPath | Microsoft Power Automate Desktop |
---|---|---|
Extracting Structured Data | Yes - UiPath allows extracting structured data from a webpage with few clicks using a wizard. | Yes – "Extract Data from Webpage" action extracts data into a data table. |
Extract Data from Table | Yes - The "Table Extraction" functionality helps developers to define a series of similar elements and extracted as a column. | No – Power Automate Desktop does not have such functionality, but this can be achieved using Selenium IDE in Power Automate UI Flows. |
Extract Table data span on multiple pages | Yes - UiPath allows to configure next button and scrapes data spans on multiple pages. | - |
Picture in Picture (PiP)
UiPath supports, "Picture in Picture" mode, which means a process runs in an isolated windows session allowing the feature to use the machine while the process is running.
Power Automate Desktop does not have the ability to execute flow in isolated mode, which means Power Automate Desktop will be controlling the mouse and keyboard and it is not possible to use the machine while the process is running.
Summary
According to the Forrester Wave Q1 2021 report, "UiPath and Microsoft are two leaders in RPA technology, both Microsoft and UiPath are capable of web automation with basic and advance features."
The Power Automate Desktop (PAD) is a competitive RPA tool for web automation, although the tool does have some deficiencies like automation within iFrames on a webpage and extracting structured data. Microsoft has a plan to add some of the features in upcoming releases. Selenium IDE can be used with UI Flow to automate a complex process or to extract structured table data.
UiPath provides more control when automating browser-based applications. The background automation using the browser extension, Headless browser automation, and Picture in Picture makes UiPath unique and allows the application window to be hidden or minimized during the process.