Access websites

When creating a Robot workflow, you can open websites in the built-in browser and configure actions. The built-in browser is based on the selected engine, such as Chromium (CEF). To navigate, use Robot steps. To open a website, insert a Browse step.

For information about selecting a browser for your application, see Types of browsers.

Use the following links to quickly navigate among the topics:

Browser interface

The built-in Chromium browser in RPA supports the following protocols:

  • http:
  • about:
  • https:
  • file:

The built-in browser provides the following controls.

Button

Description

Go back button in the built-in Kapow browser

Go back: Navigates one page back.

Go forward button in the built-in Kapow browser

Go forward: Navigates one page forward.

Reload button in the built-in Kapow browser

Reload: Reloads the current page. When the page is loading, the button displays a cross to notify that the browser is busy.

URL field: Contains either the URL of the currently loaded page or the URL you pasted before navigating to the page.

Navigate button

Navigate: Goes to the URL entered in the URL field. If you cannot see the button, scroll the Recorder View window to the right.

Save page button

Save page button: Saves the currently open page in HTML format. If you cannot see the button, scroll the Recorder View window to the right. For more information, see below.

Configure proxy settings

Configure proxy: Opens proxy configuration dialog box. If you cannot see the button, scroll the Recorder View window to the right. For more information, see below.

Print to PDF button

Print to PDF: Saves the currently open page to a PDF file. If you cannot see the button, scroll the Recorder View window to the right. For more information, see below.

URL in the built-in browser

Browser window contains the URL text field in the toolbar. It shows the URL of the loaded web page. You can select the URL and extract the value into a variable using action steps. The tree view shows the URL as well.

  • To select the text in the URL field, click the URL field using the Click step.
  • To change the address, click the URL field by using the Click step and enter the address using either the Enter Text step or from a variable.
  • To go to the entered URL, click the Navigate button to the right of the URL field.
Command timeout

Command timeout for browsing websites is set either on the Desktop Automation tab of the Design Studio Settings window for executing the workflow in Design Studio, or in the Automation Device section on the Security tab of the RoboServer Settings application for RoboServer execution. Refer to the Tungsten RPA Administrator's Guide for more information.

Copy and paste from system clipboard

Currently, it is not possible to use the system clipboard to copy and paste content inside one or multiple robots while using the built-in browser. We recommend that you use the Extract Value step instead to copy and paste content.

Configure proxy

By default, all robots of the Desktop Automation Service use Tungsten RPA global proxy settings. The Desktop Automation Service uses the same proxy settings as the Design Studio and Management Console. See Configuring Proxy Servers in Design Studio and Configuring Proxy Servers in Management Console for more information on proxy server properties.

Remember that the local proxy settings of the built-in browser in Desktop Automation Service have a higher priority than the Tungsten RPA global proxy settings. Make sure the Robot uses the Tungsten RPA global proxy settings, unless the task requires it to use local proxy settings.

To change proxy settings for the built-in browser in the Robot, click the Configure proxy button on the browser toolbar. The following proxy options are available:

  • Direct: Proxy is not used.
  • Fixed: Specify fixed proxy settings, such as host, port, and a bypass list.
  • PAC: Specify the URL of the proxy auto-configuration script file.
  • Auto: Click this option if your network provides for automatic proxy configuration, such as the Web Proxy Auto-Discovery Protocol.
  • System: Select this option to copy proxy settings from the computer running your robot.

After proxy settings are set, click OK to save the settings and close the dialog box.

Negotiate authentication for proxy

Negotiate authentication is supported for use with proxy servers. When a proxy server is configured for a robot, the Negotiate protocol is automatically used if it is supported by the server.

Print to PDF

Save a web page in PDF format using the Print to PDF button on the browser toolbar.

  1. Click the Print to PDF button using the Click step.

    After you execute the step, the browser opens either the Save page as PDF document dialog or a download tab for the completed PDF document. The result depends upon the Download to mode setting on the browser step and the RPA version you are using. See the "Download to" option in the Browse step.

  2. Specify the full path, including the file name, using the Replace Text step and click OK.

    By default, the file is stored in the temporary files folder configured for the current user.

    Optionally, save the file to the RFS by selecting Robot File System in the dialog box. In the RFS file name field, enter the path to the configured file system and the file name, such as "myshare/downloaded.pdf." The file system name must correspond to that specified in the Robot File System section in the Management Console.

    In Design Studio, to execute a robot that uses Robot File System, place your robot in the shared project.

  3. Click Save.

To adjust the PDF file settings, such as page orientation, paper size, and scale, specify options in the PDF Settings property of the Browse step.

Due to limitations with handling of pop-ups for printer selection, you cannot send an opened HTML page or a document directly to a hardware printer. Instead, the system automatically opens the Save page as PDF document dialog box, which lets you save your document in PDF format on a file system or a RFS for printing later.

Save page in HTML

You can save the currently opened page in HTML format using the Save page button on the browser toolbar.

  1. Click the Save page button using the Click step.

    After you execute the step, the browser opens the Save As dialog box.

  2. Specify the full path including the file name using the Replace Text step. By default, the file is stored in the temporary files folder configured for the current user.

    Click OK

  3. Click Save.

Application actions

Application-level actions are actions applied to the entire application and available by right-clicking the application tab in the Recorder View. The following table lists application-level actions for the Chromium built-in browser.

Action

Description

Set Application Name

Adds a value to the name tag of the browser application. Specify a name that can help you identify the application and create robust and dependable finders. When a web page loads in a new browser window using a link on the opened page, the name tag of the newly opened browser application includes the name of the parent application with a number in brackets, for example name="mainpage(2)".

Assign different application names to applications in a robot to avoid errors.

Close Window

Adds a step to close an opened application window.

Duplicate Window

Adds a step to duplicate an application tab and open it in a new tab. The state of the application is preserved.

Execute JavaScript

Adds a step to execute JavaScript on the current page in the main window context. See also Execute JavaScript application actions.

  • JavaScript: Enter the code to execute.

  • JS Execution Result: Specify a text variable to store the result.

    If the returned execution result is not of type text, it is automatically converted into text:

    • Undefined is converted to the text "undefined."

    • Object is converted to the text "object."

    • Null is converted to the text "null."

    • Boolean is converted into "true" or "false."

    • Number is converted into a string representation of the number.

    If a Robot needs to return more complex data, have the JavaScript code serialize data into JSON. Then have the Robot deserialize data back into a JSON variable using the parse() function.

  • When Wait For Result is selected, the robot waits until the code is executed and the result is written into the "JS Execution Result" variable.

    The default timeout is 30 seconds. If the action is not completed within this time period, an exception is thrown. Also, if the JavaScript code contains errors, an exception is thrown.

    If you clear this option, the robot proceeds to the next step immediately after the code execution is started (without waiting for the execution to finish).

Navigate

Adds a step to open a specified URL. Enter the URL in the URL field.

Reload

Reloads the current web page.

Go Back

Navigates one page back. Similar to clicking the Go Back button on the browser toolbar.

Go Forward

Navigates one page forward. Similar to clicking the Go Forward button on the browser toolbar.

Set Cookie

Adds or replaces a cookie in the browser.

  • Name: Name of the cookie.

  • Value: Value of the cookie.

  • Host / Domain: Scope of the cookie. This must be either a host name or a domain name prefixed with a dot (.).

  • Path: Path of the cookie.

  • Expiration: Expiration date of the cookie.

    Select Session to specify a session cookie, Age to specify age (in seconds) for the cookie, or Date to specify an expiration date in ISO 8601 UTC format (for example, 2030-06-01T13:27:00.000Z).

  • Select HttpOnly to set an HTTP-only cookie.

    Scripts in the browser cannot access such cookies.

  • Select Secure to set a secure cookie.

    Secure cookies can only be sent to a host over HTTPS connections.

  • Select Escape characters to perform URI escape on invalid characters in the cookie value.

When you set the cookie, the browser enforces the cookie expiration date. If you overwrite a cookie with an expiration date in the past, this cookie is deleted.

  • The Chromium built-in browser validates the cookie before setting it. The browser rejects cookies with invalid characters or cookies violating security constraints.

    As a result, the robot step throws an error.

  • Current Chromium versions restrict the cookie lifetime to 400 days and silently adjust its expiration date to enforce this limit.

    The range of values accepted by the Age option is restricted accordingly.

For information about managing cookies, see Manage cookies in Chromium built-in browser.

Get Cookie

Retrieves a cookie value from the browser and stores it in a text variable.

  • URL: Scope of the cookie. Only host and domain cookies matching this domain are returned.

  • Name: Name of the required cookie.

  • Select Unescape characters to decode URI escape characters (%XX) in the cookie value when it is returned.

  • Specify a Default value to set a value that is returned if the cookie cannot be found in the browser.

    If the default value is not set, the robot returns an empty value.

  • Result: Specify a text variable to store the value.

Delete Cookie

Deletes the selected cookies.

  • URL: Scope of the cookie.

  • Name: Name of the cookie.

Specify only URL to delete all host cookies that are visible in the required scope.

Specify both URL and Name to delete all domain cookies with the specified name in the scope.

Clear All Cookies

Removes all cookies from the browser.

Export Cookies

Exports cookies from the browser and returns them in a text variable.

  • Select and enter URL to export only cookies that are accessible in the scope of this URL.

  • Select Session cookies to include session cookies (cookies without an expiration date) in the export.

  • Cookies: Specify a text variable to store the cookies.

You can save the result externally and import it using another robot and the Import Cookies application action.

Import Cookies

Imports cookies that were previously saved by the Export Cookies application action. This step accepts cookies saved by previous versions of Tungsten RPA.

  • Cookies: The cookies to be imported.

The browser enforces the expiration date from the imported cookies.

Web Storage

Manipulates web storage key or value pairs for domains that are loaded into the browser.

Web storage does not persist. Any keys are discarded when the robot terminates.

Use the Developer Tools to view which web storage areas are loaded into the browser session and the contents of these areas.

This action is available both as an application action and as a component action.

To use it as an application action:

  • Select Storage option Local Storage or Session Storage.

  • Select Web Storage Domain to configure which domain's web storage to operate on:

    • Select Origin for the main site's domain.

    • Select Specified and enter the full-host URL for the domain.

      An exception occurs if the domain is not loaded in a frame in the browser.

  • Select one of the Operation options:

    • Clear: Removes all keys from the web storage area.

    • Delete: Deletes a specified key from the web storage area.

    • Set Key: Creates or changes a key with the specified value in the web storage area. Enter a Key or leave the box blank. If you leave it blank, the key is assigned an empty value.

    • Get Value: Gets the value of the key from the web storage area and stores it in the Results variable. If the key is not present in the web storage area, the default value is returned.

    • List Keys: Gets a list of all keys in the web storage area and stores the list, encoded as a JSON array, in the Results variable.

    • List Domains: Gets a list of all web storage containers in the browser and stores the list, encoded as a JSON array, in the Results variable.

  • Results: For Operation options that have result variables, stores the result as Text variables. Operations that do not have a result automatically clear the result variable.

    Because the result variable is a Text variable, you can use the parse(text) function to convert the results from the List Keys and List Domains into a proper JSON array that can be looped over.

Component actions

Component actions are applied to the selected component or element and available by right-clicking an element in the Recorder View or the tree view. The following table lists component-level actions for the Chromium built-in browser.

Although RPA automatically detects the CEF browser and switches to the appropriate tree mode, you can change the tree mode to ISA both for the entire application and for a particular element by right-clicking it and selecting Tree Mode > ISA. For more information, see Tree Modes.

Action

Description

Open Link In New Window

Applies to web page links. Adds a step that opens the selected link on a new tab in the Recorder View.

Extract Target

Can be applied to the Anchor HTML element with an href attribute that has a data URL value. It enables the user to extract the data URL value into a binary variable. The value is decoded from the base64 format into binary if necessary.

The available types of binary variables include Binary, Image, and PDF. They are all equivalent except that you can preview the Image in the State pane, and the PDF can be opened in the Recorder View from the variable saved in the Extract Target step by using a PDF step.

Execute JavaScript

Adds a step to execute JavaScript on the current page in the main window context. See also Execute JavaScript application actions.

  • JavaScript: Enter the code to execute.

  • JS Execution Result: Specify a text variable to store the result.

    If the returned execution result is not of type text, it is automatically converted into text:

    • Undefined is converted to the text "undefined."

    • Object is converted to the text "object."

    • Null is converted to the text "null."

    • Boolean is converted into "true" or "false."

    • Number is converted into a string representation of the number.

    If a Robot needs to return more complex data, have the JavaScript code serialize data into JSON. Then have the Robot deserialize data back into a JSON variable using the parse() function.

  • When Wait For Result is selected, the robot waits until the code is executed and the result is written into the "JS Execution Result" variable.

    The default timeout is 30 seconds. If the action is not completed within this time period, an exception is thrown. Also, if the JavaScript code contains errors, an exception is thrown.

    If you clear this option, the robot proceeds to the next step immediately after the code execution is started (without waiting for the execution to finish).

Web Storage

Manipulates web storage key or value pairs for domains that are loaded into the browser.

Web storage does not persist. Any keys are discarded when the robot terminates.

Use the Developer Tools to view which web storage areas are loaded into the browser session and the contents of these areas.

This action is available both as an application action and as a component action. As an application action, additional options are available that do not apply in component actions.

To use it as a component action:

  • Select Storage option Local Storage or Session Storage.

    Component actions automatically set the domain of the frame containing the component.

  • Select one of the Operation options:

    • Clear: Removes all keys from the web storage area.

    • Delete: Deletes a specified key from the web storage area.

    • Set Key: Creates or changes a key with the specified value in the web storage area. Enter a Key or leave the box blank. If you leave it blank, the key is assigned an empty value.

    • Get Value: Gets the value of the key from the web storage area and stores it in the Results variable. If the key is not present in the web storage area, the default value is returned.

    • List Keys: Gets a list of all keys in the web storage area and stores the list, encoded as a JSON array, in the Results variable.

  • Results: For Operation options that have result variables, stores the result as Text variables. Operations that do not have a result automatically clear the result variable.

    Because the result variable is a Text variable, you can use the parse(text) function to convert the results from the List Keys and List Domains into a proper JSON array that can be looped over.

Scroll To

Adds a step that scrolls the page to the selected element, so the element appears in the middle of the window.

Select Option

Adds a step in Desktop Automation robots that enables you to select a single option or multiple options from a menu:

  • Select a single option from a list of items, a group of items, or a drop-down list.

    To select an option from a collapsed drop-down list, click the menu in the Recorder View and select the required option in the tree view.

  • Select multiple options from a list of items or a group of items, which functions similar to using Ctrl+click.

    If you already selected a single option from a list or a group, add a Select Option step for another item on this list or group and check Multiple Selection in the step properties.

    After you execute the step, both options show as selected. To select more options, perform the same procedure for each additional option to select.

    To remove multiple selections, uncheck Multiple Selection in the step properties. The step processes the selected option and clears all other selected options.

Select in Dropdown

Adds a step in Desktop Automation robots that selects options from either a menu or through a variable at runtime.

Both the Select in Dropdown and Select Option steps can be mixed to manipulate a menu. These steps differ only in the method used to select the options from the menu.

  • Select a single option from a list of items, a group of items, or a drop-down list.
  • Select multiple options from a list of items or a group of items, which functions similar to using Ctrl+click.

    If you already have one or more options selected, add a Select in Dropdown step for another item and check Multiple Selection in the step properties.

    After you execute the step, both options appear selected. To select more options, perform the same procedure for each additional option to select.

    To remove multiple selections, uncheck Multiple Selection in the step properties. The step processes the selected option and clears all other selected options.

  • Uncheck Case Sensitive in the step properties to perform case-insensitive matches.

The robot matches the available options in the following order:

  1. The first option with a value attribute that matches.

  2. The first option with a value attribute that matches after trimming white space.

  3. The first option with a text value that matches as shown in the menu, after trimming white space.

    If no value matches in the menu, an error is reported.

Upload as File

Adds a step that allows you to upload a file to a web form without the file selection dialog or to upload the contents of a binary variable directly. This step uploads files from either a local file system or Robot File System (RFS).

In Design Studio, to execute a robot that uses Robot File System, place your robot in the shared project.

  • Apply this step to the Input HTML element with a "file" type attribute setting.

  • This step simulates a click on the input element and provides the selected file for the upload. This allows the form to process the upload normally.

  • If a binary variable is uploaded, the step specifies a file name to be used in the form.

Fill Form Field

Adds a step in Desktop Automation robots to manipulate input elements in HTML forms. Use this step to control graphical elements that otherwise would require interactive manipulation (such as color pickers and volume sliders).

If the element has a data list associated with it during design, the values from that data list appear in the list.

These elements auto-complete without restricting input, such as a Select in Dropdown action does.

Note that some elements, such as file uploads, are not supported by this action.

Debugging with Developer Tools

Tungsten RPA supports debugging in the Chromium browser engine using Developer Tools. Thus, you can extract and save information required to analyze the interaction between the website and the browser and errors that occur during processing of web content. Information is saved in HTTP Archive (HAR) format. See also Start Developer Tools.

To save a log to a file, perform the following steps.

  1. Open the browser using a Browse step.

  2. Right-click the browser tab and select Start Developer Tools in the context menu.

  3. In the Chrome DevTools window, select the Network tab, select Preserve log, and press Ctrl+R.

    The network trace loads in the window.

  4. Right-click the trace and select Save all as HAR with content to save the network trace in a file.

    Now you can open the file in an HTTP Archive inspector.