activities
latest
false
UiPath logo, featuring letters U and I in white

UI Automation Activities

Last updated Dec 4, 2024

Attach

Focuses on a desktop application or web browser page that's already open, to use in UI automation.

This API is used by calling the UIAutomation service, based on the following format: uiAutomation.<APIMethod>(). For example, uiAutomation.Open().

Definition

Namespace: UiPath.UIAutomationNext.API.Contracts

Assembly: UiPath.UIAutomationNext.API.Contracts (in UiPath.UIAutomationNext.API.Contracts dll)

Overloads

OverloadDescription
Attach(String, TargetAppOptions, String, String)Focuses on a specific desktop application or web page to use in UI automation, identified by the screen name from the Object Repository.
Attach(TargetAppModel, TargetAppOptions)Focuses on a specific desktop application or web page to use in UI automation, identified by the TargetAppModel object.
Attach(String, String, String, NAppAttachMode, NWindowResize, NInteractionMode)Focuses on a specific desktop application or web page to use in UI automation, identified by the screen name from the Object Repository, along with other customizations of the app or web page.

Attach(String, TargetAppOptions, String, String)

Focuses on a specific desktop application or web page to use in UI automation, identified by the screen name from the Object Repository.

Attach(
    string screenName,
    TargetAppOptions targetAppOptions,
    [string appName],
    [string appVersion])Attach(
    string screenName,
    TargetAppOptions targetAppOptions,
    [string appName],
    [string appVersion])
screeName String
The name of the screen you want to focus on, as a String recorded inside the Object Repository.
targetAppOptions TargetAppOptions
Additional options and settings for attaching to the application or web page:
  • Timeout Double - Specify a number of seconds for which to wait for the activity to be executed before throwing an error. The default value is 30 seconds. When indicating a window in a Remote Desktop environment, the Timeout default setting is set to 60 seconds.
  • InteractionMode NInteractionMode:
    • HardwareEvents - Uses the hardware driver to perform the action. This is the slowest API, it cannot work in the background, but it is compatible with all desktop apps.
    • Simulate - Simulates the action using accessibility APIs. Recommended in browser automation, Java apps, or SAP. More reliable than Hardware Events. Sends all text in a single action. Works even if the target application is not in focus. Please test if your target application UI element supports this.
    • DebuggerApi - Performs actions using debugger APIs. Works only for Chromium elements. Sends all text in one go. Works even if target app is not in focus. For more details, check out this page.
    • WindowMessages - Sends the mouse and keyboard input through Win32 messages. Recommended for desktop apps. Usually more reliable than Hardware Events. Sends all text in a single action. Works even if target app is not in focus. Please test if your target application UI element supports this.
    • Background - Runs actions in the background. Tries to use either Simulate or Chromium API where possible, while complex APIs (image, native text) run as usual, in the foreground. It is highly recommended to use this API with the Verify Execution feature.
  • OpenMode NAppOpenMode - choose when to open the app:
    • Never (never open the application)
    • IfNotOpen (open only if the application is closed, this is the default selection, only works if FilePath or URL are provided)
    • Always (open another instance of the application even if one is already open, only works if FilePath or URL are provided)
  • WindowResize NWindowResize - choose the size of the window:
    • None
    • Maximize
    • Restore
    • Minimize
  • UserDataFolderMode BrowserUserDataFolderMode - The UserDataFolderMode you want to set. It is used to start the browser with a specific user data folder.
    • Automatic - Picture In Picture mode uses a different folder than the default mode, automatically generated if UserDataFolderPath is not set.
    • DefaultFolder - Uses the default browser folder, no matter if it runs in the main or PIP session.
    • CustomFolder - Uses the folder specified in UserDataFolderPath or an auto generated path if UserDataFolderPath is not set.
  • UserDataFolderPath String - The user data folder that the browser uses. Defaults to %LocalAppData%\UiPath\PIP Browser Profiles\BrowserType if not set.
  • IsIncognito Boolean - input True if you want to open the browser in incognito mode. By default it's set to False.
  • WebDriverMode NWebDriverMode - Indicates how the WebDriver is used when opening a new browser session. The following options are available:
    • Disabled - Disables the use of WebDriver.
    • WithGUI - The GUI of the browser is displayed.
    • Headless - The browser is launched silently, with no GUI.
appName String
The name of the application to attach to. This parameter is applicable for desktop applications.
appVersion String
The version of the application to attach to. This parameter is applicable for desktop applications.

Attach(TargetAppModel, TargetAppOptions)

Focuses on a specific desktop application or web page to use in UI automation, identified by the TargetAppModel object.
Attach(
    TargetAppModel targetApp,
    [TargetAppOptions targetAppOptions]))Attach(
    TargetAppModel targetApp,
    [TargetAppOptions targetAppOptions]))
targetApp TargetAppModel
The target application or web page to attach to. It is an object of type TargetAppModel that provides information about the application:
  • Selector String - An XML fragment that stores the attributes of a user interface element.
  • FilePath String - If the application is not a web browser, specifies the full path of the executable file to open.
  • Arguments String - If the application is not a web browser, you can specify parameters to pass to the target application at startup.
  • Url String - If the application is a web browser, specifies the URL of the web page to open.
  • Title String - The title of the application or browser.
targetAppOptions TargetAppOptions
Additional options and settings for attaching to the application or web page:
  • Timeout Double - Specify a number of seconds for which to wait for the activity to be executed before throwing an error. The default value is 30 seconds. When indicating a window in a Remote Desktop environment, the Timeout default setting is set to 60 seconds.
  • InteractionMode NInteractionMode:
    • HardwareEvents - Uses the hardware driver to perform the action. This is the slowest API, it cannot work in the background, but it is compatible with all desktop apps.
    • Simulate - Simulates the action using accessibility APIs. Recommended in browser automation, Java apps, or SAP. More reliable than Hardware Events. Sends all text in a single action. Works even if the target application is not in focus. Please test if your target application UI element supports this.
    • DebuggerApi - Performs actions using debugger APIs. Works only for Chromium elements. Sends all text in one go. Works even if target app is not in focus. For more details, check out this page.
    • WindowMessages - Sends the mouse and keyboard input through Win32 messages. Recommended for desktop apps. Usually more reliable than Hardware Events. Sends all text in a single action. Works even if target app is not in focus. Please test if your target application UI element supports this.
    • Background - Runs actions in the background. Tries to use either Simulate or Chromium API where possible, while complex APIs (image, native text) run as usual, in the foreground. It is highly recommended to use this API with the Verify Execution feature.
  • OpenMode NAppOpenMode - choose when to open the app:
    • Never (never open the application)
    • IfNotOpen (open only if the application is closed, this is the default selection, only works if FilePath or URL are provided)
    • Always (open another instance of the application even if one is already open, only works if FilePath or URL are provided)
  • WindowResize NWindowResize - choose the size of the window:
    • None
    • Maximize
    • Restore
    • Minimize
  • UserDataFolderMode BrowserUserDataFolderMode - The UserDataFolderMode you want to set. It is used to start the browser with a specific user data folder.
    • Automatic - Picture In Picture mode uses a different folder than the default mode, automatically generated if UserDataFolderPath is not set.
    • DefaultFolder - Uses the default browser folder, no matter if it runs in the main or PIP session.
    • CustomFolder - Uses the folder specified in UserDataFolderPath or an auto generated path if UserDataFolderPath is not set.
  • UserDataFolderPath String - The user data folder that the browser uses. Defaults to %LocalAppData%\UiPath\PIP Browser Profiles\BrowserType if not set.
  • IsIncognito Boolean - input True if you want to open the browser in incognito mode. By default it's set to False.
  • WebDriverMode NWebDriverMode - Indicates how the WebDriver is used when opening a new browser session. The following options are available:
    • Disabled - Disables the use of WebDriver.
    • WithGUI - The GUI of the browser is displayed.
    • Headless - The browser is launched silently, with no GUI.

Attach(String, String, String, NAppAttachMode, NWindowResize, NInteractionMode)

Focuses on a specific desktop application or web page to use in UI automation, identified by the screen name from the Object Repository, along with other customizations of the app or web page.

Attach(string screenName,
    [string appName],
    [string appVersion],
    [NAppAttachMode appAttachMode],
    [NWindowResize windowResize],
    [NInteractionMode interactionMode]))Attach(string screenName,
    [string appName],
    [string appVersion],
    [NAppAttachMode appAttachMode],
    [NWindowResize windowResize],
    [NInteractionMode interactionMode]))
screeName String
The name of the screen you want to focus on, as a String recorded inside the Object Repository.
appName String
The name of the application to attach to. This parameter is applicable for desktop applications.
appVersion String
The version of the application to attach to. This parameter is applicable for desktop applications.
appAttachMode NAppAttachMode
  • ByProcessName - Further APIs will search in all windows with the same process name as the indicated app.
  • ByInstance - Further APIs will search in the indicated application instance, including all parent and child windows (alerts, popups, etc.). Other instances of the application are excluded.
  • SingleWindow - Further APIs will search only in the indicated window.
windowResize NWindowResize
Choose the size of the window:
  • None
  • Maximize
  • Restore
  • Minimize
interactionMode NInteractionMode
Choose which API the Robot should use to interact with the target application:
  • HardwareEvents - Uses the hardware driver to perform the action. This is the slowest API, it cannot work in the background, but it is compatible with all desktop apps.
  • Simulate - Simulates the action using accessibility APIs. Recommended in browser automation, Java apps, or SAP. More reliable than Hardware Events. Sends all text in a single action. Works even if the target application is not in focus. Please test if your target application UI element supports this.
  • DebuggerApi - Performs actions using debugger APIs. Works only for Chromium elements. Sends all text in one go. Works even if target app is not in focus. For more details, check out this page.
  • WindowMessages - Sends the mouse and keyboard input through Win32 messages. Recommended for desktop apps. Usually more reliable than Hardware Events. Sends all text in a single action. Works even if target app is not in focus. Please test if your target application UI element supports this.
  • Background - Runs actions in the background. Tries to use either Simulate or Chromium API where possible, while complex APIs (image, native text) run as usual, in the foreground. It is highly recommended to use this API with the Verify Execution feature.

Running WebDriverMode as Headless

To operate WebDriverMode in a headless configuration, these steps can serve as a guide.

Begin by defining a variable for your screen. Use the function uiAutomation.Open to open a new application in the browser of your choice - in this instance, Edge. After that, use the Options class in the overload to specify certain browser options. Among these options, set webDriverMode to NWebDriverMode.Headless.

The corresponding code looks like this:

var screen = uiAutomation.Open(Descriptors.NewApplication.Edge, Options.AppOpen().WithBrowserOptions(webDriverMode: NWebDriverMode.Headless));var screen = uiAutomation.Open(Descriptors.NewApplication.Edge, Options.AppOpen().WithBrowserOptions(webDriverMode: NWebDriverMode.Headless));

This code functions to set your WebDriver to Headless mode, enabling the browser automation without the browser being visibly open.

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.