Browser Low-Code Module

The Browser module empowers a robotic process to open and interact with web browsers. Through this module, you can navigate to a URL and interact with the web page just as a human would: click on the page controls, select options, enter values in text fields, retrieve HTML items, and more.

This page describes how to integrate browser methods into your robotic process using Appian RPA's low-code Browser module, which provides an easier and more robust development experience.

For more experienced developers, more options are available using the Java module.

To make robotic process development even faster, you can use Selenium IDE to record browser actions and import the file as a section in Appian RPA.

Browser module architecture

The Browser module requires Selenium to work properly and interact with browsers.

Components

This section describes each of the components needed to work with the Appian RPA Browser module:

  • Java Selenium drivers: Appian RPA uses the Selenium WebDriver API, which contains different language-specific implementations, such as Java. The Java implementations, included in the Maven dependency selenium-java, are called drivers. It is important to know this terminology to avoid confusion.
  • Servers: executable programs that drivers communicate with. Drivers use servers to interact with browsers. These servers, sometimes known as proxies, are necessary and are available to download as external components, since they are developed by third parties (except for Internet Explorer). This page uses the term servers to avoid confusion.
  • Browsers: the web browsers to use in the automation. Chrome, Firefox, and Internet Explorer are supported on Windows, Mac, and Linux resources. Opera is supported on Windows resources only.

The following image shows how all these components are connected:

/rpa-browser-module-components

Different servers available for each supported browser:

Once downloaded, you must add the driver to the robotic process configuration as Support Files. Usually, a robotic process will only have to interact with one browser, so you don't need to upload all the files shown in the image.

/rpa-browser-module-support-files

Compatibility between components

Not all versions of each component are compatible with each other. We recommend that you always work with the most recent versions of the browsers and their bridge servers. In all cases, they must be compatible with the Selenium version integrated into the Appian RPA Browser module. Visit the links below for each web browser to know what versions are supported for the rest of the components:

Using the Browser low-code module

The Browser low-code module lets you configure how the robotic process opens and interacts with a web browser. The low-code module simplifies this step in robotic process development by bringing these methods to the Actions dialog and presenting the available options, rather than requiring you to code it using Java.

While these methods can be called using methods in the Java code, using the methods from the robotic process workflow is both easier and more robust. When you build the robotic process workflow, you'll see the following methods available in the Browser module:

  • Close browser
  • Get attribute
  • Initialize browser
  • Interact with element
  • Is element present
  • Navigate to URL
  • Return window title
  • Select frame
  • Set sleep default value
  • Set timeout in seconds
  • Set timeout in seconds to use when wait element (Default value: 60)
  • Set type of browser
  • Sleep the default sleep time
  • Sleep the specified time
  • Wait for attribute
  • Wait for window title
  • Wait for window title and activate
  • Wait for window title with timeout
  • Wait for window title with timeout and activate

A few of these methods, described below, are commonly used and contain multiple options to create a specific configuration.

Get attribute

This method lets you find the attribute value of one or more elements on the screen. This method contains the following configurations:

  • Selector: Lets you identify an element on the web page based on a Selenium By class and matching value. The options include:
    • ID
    • Link Text
    • Partial Link Text
    • Name
    • Tag Name
    • XPath
    • Class Name
    • CSS Selector
  • Wait for element: Lets you specify the maximum amount of time the robotic process should wait for the element before moving on. If the element is found before the defined time, it will continue as soon as the element is found. Choose from these options:
    • Use default max wait time: When selected, the robotic process waits for the time you set in the Set timeout in seconds to use when wait element method. If this time elapses without finding the element, the action completes.
    • Enter explicit wait time: When selected, you can enter the maximum time (in seconds) the robotic process should wait. This number must be greater than zero. If this time elapses without finding the element, the action completes.
    • Don't wait: If the element isn't found, the action completes without waiting.
  • Attribute to return: Contains multiple options:

    Display name Returns Description
    Value Text The value of the "value" attribute. Many types of components may contain a "value" attribute, though selection components may find other options more in line with what they're looking for (dropdowns use either Selected dropdown options or First selected dropdown option, while checkboxes and radio buttons may use Is selected?).
    Hypertext reference Text The value of the "href" attribute.
    Inner HTML text Text The text contained within an HTML tag.
    Image source Text The value of the "src" attribute of an image.
    Class name Text The value of the "className" attribute of an element. Many types of components have this attribute, but it will typically only be extracted from visual components such as icons.
    All dropdown options List of Maps Each Map represents WebElement and contains three entries: index, value, and text. If the dropdown does not contain any options, returns an empty list.
    Selected dropdown options List of Maps Each Map represents WebElement and contains three entries: index, value, and text. If no options are selected, returns an empty list.
    First selected dropdown option Map Returns a Map representing WebElement containing three entries: index, value, and text. If no option is selected, returns null.
    Is enabled? Boolean Returns true if the element is enabled or false if it is disabled.
    Is displayed? Boolean Returns true if the element is displayed or false if it exists but is not displayed.
    Is multiple? Boolean Returns true if the dropdown supports selecting multiple options or false if it does not. If this option is used on a component that is not a dropdown, it will return false.
    Is selected? Boolean Returns true if the checkbox or radio button option is selected or false if it is not.
    Other Text varies
  • Take screenshot: Choose whether to take a screenshot of the resource after the action completes. If the action failed, the screenshot is taken immediately before the exception is thrown and cleanup is started. If the action completed successfully, the screenshot is taken immediately after the action is performed. The element may no longer exist on the page, notably if it is a navigation action.
  • Fail if…: Determines the condition under which the action should fail. Available options are:
    • Element not found: After the configured wait time, the element still does not exist on the web page. Use this if the element must be found to continue with the process.
    • More than one element is found: Multiple elements on the page matched the selection criteria as defined in Selector. Use this if you only expected to find one element.
    • Attribute does not exist: None of the attributes match the selected criteria set in Attribute to return. Use this if the specified attribute must be present in all identified elements to continue with the process. If not checked and the attribute doesn't exist, it will return null.

Output

This action will return a list. Each index in the list corresponds to the attribute value of one element. If the attribute for any element isn't found, the value at that index will be null.

Interact with element

This browser method lets you interact with elements on the screen, based on the selection and configurations you specify. This method contains the following configurations:

  • Selector: Lets you identify an element on the web page based on a Selenium By class and matching value. The options include:
    • ID
    • Link Text
    • Partial Link Text
    • Name
    • Tag Name
    • XPath
    • Class Name
    • CSS Selector
  • Wait for element: Lets you specify the maximum amount of time the robotic process should wait for the element before moving on. If the element is found before the defined time, it will continue as soon as the element is found. Choose from these options:
    • Use default max wait time: When selected, the robotic process waits for the time you set in the Set timeout in seconds to use when wait element method. If this time elapses without finding the element, the action completes.
    • Enter explicit wait time: When selected, you can enter the maximum time (in seconds) the robotic process should wait. This number must be greater than zero. If this time elapses without finding the element, the action completes.
    • Don't wait: If the element isn't found, the action completes without waiting.
  • Interaction: Contains multiple options:
    • Click on element
    • Double-click on element
    • Select dropdown choice by index: Value input must be greater than zero.
    • Select dropdown choice by visible text: When you select this option, specify the visible text to find.
    • Select dropdown choice by value: When you select this option, specify the value to find.
    • Select checkbox (if not already selected)
    • Deselect dropdown choice by index: Value input must be greater than zero.
    • Deselect dropdown choice by visible text: When you select this option, specify the visible text to find.
    • Deselect dropdown choice by value: When you select this option, specify the value to find.
    • Deselect checkbox (if already selected)
    • Toggle checkbox
    • Update value: When you select this option, specify the new value.
    • Update value with username: Select the credential username as defined in the Appian RPA console. You'll only see credentials that you share permissions with.
    • Update value with password: Select the credential password as defined in the Appian RPA console. You'll only see credentials that you share permissions with.
    • Clear value
  • Take screenshot: Choose whether to take a screenshot of the resource after the action completes. If the action failed, the screenshot is taken immediately before the exception is thrown and cleanup is started. If the action completed successfully, the screenshot is taken immediately after the action is performed. The element may no longer exist on the page, notably if it is a navigation action.
  • Fail if…: Determines the condition under which the action should fail. Available options are:
    • Element not found: After the configured wait time, the element still does not exist on the web page. Use this if the element must be found to continue with the process.
    • More than one element is found: Multiple elements on the page matched the selection criteria as defined in Selector. Use this if you only expected to find one element.
    • Interaction is invalid: The selected interaction can't be executed. Examples of this include attempting to click on a disabled element, attempting to select a dropdown choice from an element that isn't a dropdown, etc. Use this when this interaction is required to continue the process.

Is element present

This method checks if the specfied element is present in the web page. This action returns a Boolean value.

You can configure the following parameters for this method:

  • Selector: Select the element attribute to check for based on a Selenium By class and matching value. The options include:
    • ID
    • Link Text
    • Partial Link Text
    • Name
    • Tag Name
    • XPath
    • Class Name
    • CSS Selector
  • Operator: Select an option to store the result or append the returned value to a robotic process variable.
  • Save Into: Enter the name of a robotic process variable where you want to store the returned value.

Open browser

This browser method lets you initialize the browser of your choice and navigate to a URL. If a browser window is already open, this action will open either a new tab or new window, based on the browser type. This method contains the following configurations:

  • Type of Browser: Set the browser type using a dropdown menu. The default is Google Chrome. Additional browsers include Firefox, Internet Explorer, and Opera.
    • If a Chrome, Firefox, or Opera browser window is already open on the resource, this action opens a new tab in that window. This action will open a new Internet Explorer window even if one is already open.
  • URL: Enter the URL to navigate to once the browser opens.

Select frame

This method lets you switch the context for the web page if frames or iframes are present. Use this method to switch to the frame or iframe or navigate out of it. Note that all following actions within the browser will use the frame selected by this method. This method contains the following configurations:

  • Switch to: Choose the frame to use as the context: Frame, Parent Frame, or Top-most Frame. If you select Frame, use the Selector configuration to choose how to identify it. A parent frame is the frame immediately above the currently selected frame. The top-most frame is the frame that contains all other frames on the page. There can be more than one parent frame on a page, but there is only one top-most frame in a page. This action makes no changes if the top-most frame on the page is already selected and you choose either Parent Frame or Top-most Frame.
  • Selector: Lets you identify the frame on the web page based on a Selenium By class and matching value. This option only appears when Frame is selected in the Switch to option. The options include:
    • ID
    • Link Text
    • Partial Link Text
    • Name
    • Tag Name
    • XPath
    • Class Name
    • CSS Selector
    • Index
  • Wait for element: Lets you specify the maximum amount of time the robotic process should wait for the element before moving on. If the element is found before the defined time, it will continue as soon as the element is found. This option only appears when Frame is selected in the Switch to option. The action won't wait when other options are selected. Choose from these options:
    • Use default max wait time: When selected, the robotic process waits for the time you set in the Set timeout in seconds to use when wait element method. If this time elapses without finding the element, the action completes.
    • Enter explicit wait time: When selected, you can enter the maximum time (in seconds) the robotic process should wait. This number must be greater than zero. If this time elapses without finding the element, the action completes.
    • Don't wait: If the element isn't found, the action completes without waiting.
  • Take screenshot: Choose whether to take a screenshot of the resource after the action completes. The screenshot is of the entire screen, not just the frame or window. If the action failed, the screenshot is taken immediately before the exception is thrown and cleanup is started. If the action completed successfully, the screenshot is taken immediately after the action is performed. The element may no longer exist on the page, notably if it is a navigation action.
  • Fail if…: Determines the condition under which the action should fail. This option only appears when Frame is selected in the Switch to option. Available options are:
    • Element not found: After the configured wait time, the element still does not exist on the web page. Use this if the element must be found to continue with the process.
    • Interaction is invalid: The selected interaction can't be executed. Examples of this include finding an element that isn't a frame or iframe. Use this when this interaction is required to continue the process.

Wait for attribute

This method lets you wait for one or more elements to have a specific attribute before the process continues. This method contains the following configurations:

  • Selector: Lets you identify an element on the web page based on a Selenium By class and matching value. The method options include:
    • ID
    • Link Text
    • Partial Link Text
    • Name
    • Tag Name
    • XPath
    • Class Name
    • CSS Selector
  • Wait time: Lets you specify the maximum amount of time the robotic process should wait for the element before moving on. If the element is found before the defined time, it will continue as soon as the element is found. Choose from these options:
    • Use default max wait time: When selected, the robotic process waits for the time you set in the Set timeout in seconds to use when wait element method. If this time elapses without finding the element, the robotic process continues to the next action in the workflow.
    • Enter max wait time: When selected, you can enter the maximum time (in seconds) the robotic process should wait. This number must be greater than zero. If this time elapses without finding the element, the robotic process completes.
  • Attribute value to wait for:
    • Value
    • Hypertext Reference (href)
    • Text (Returns as plain text, contains no HTML)
    • Image Source (src)
    • Class Name
    • Is Enabled?
    • Is Displayed?
    • Is Multiple?
    • Is Selected?
    • Other
  • Take screenshot: Choose whether to take a screenshot of the resource after the action completes. If the action failed, the screenshot is taken immediately before the exception is thrown and cleanup is started. If the action completed successfully, the screenshot is taken immediately after the action is performed. The element may no longer exist on the page, notably if it is a navigation action.
  • Fail if…: Determines the condition under which the action should fail. Available options are:
    • More than one element is found: Multiple elements on the page matched the selection criteria as defined in Selector. Use this if you only expected to find one element.

Tutorial: Build a browser bot

Learn how to use the browser module in a robotic process


This version of the Appian RPA documentation was written for Appian 20.4, and does not represent the interfaces or functionality of other Appian versions.
Open in Github Built: Fri, Sep 17, 2021 (04:05:09 PM)

On This Page

FEEDBACK