zaro

How do I close a pop-up window in UIPath?

Published in UiPath Automation 4 mins read

To effectively close a pop-up window in UiPath, the recommended approach involves checking for its existence first and then performing a click action on its close button. This ensures your automation is robust and doesn't fail if the pop-up isn't present.

Key Steps to Close a Pop-up Window

The process primarily utilizes two core UiPath activities: Element Exists and Click.

  1. Check Pop-up Existence: Utilize an Element Exists activity to verify if the pop-up window is currently displayed on the screen. This activity returns a Boolean value, indicating whether the UI element was found.
  2. Click to Close: If the Element Exists activity confirms the pop-up is present, a Click activity is then used within the conditional block (e.g., an If activity or the Do part of Element Exists for a direct true-path execution) to interact with and close the pop-up.

Step-by-Step Guide with UiPath Activities

Here's a detailed breakdown of how to implement this solution in your UiPath workflow:

1. Add the Element Exists Activity

  • Purpose: This activity is crucial for creating resilient automation. It prevents your bot from attempting to click on an element that might not be visible, thus avoiding errors.
  • Location: Drag and drop the Element Exists activity into your workflow (e.g., within a Sequence or Flowchart).
  • Configuration:
    • Indicate on screen: Click this option and select the entire pop-up window. Ensure you capture a stable selector for the pop-up.
    • Output: Create a Boolean variable (e.g., PopUpExists) to store the result of this activity. This variable will be True if the pop-up is found, and False otherwise.
    • TimeoutMS: Set an appropriate timeout (e.g., 5000 milliseconds for 5 seconds) for how long UiPath should wait for the pop-up to appear.

2. Implement the Click Activity

  • Purpose: To perform the action of closing the pop-up.
  • Placement:
    • Directly in Element Exists Do block: The reference specifically mentions placing the Click activity "In element exists block do part". This is a clean way to execute the click only when the element is found.
    • Inside an If activity: A more common and flexible approach is to use an If activity after the Element Exists activity. The condition for the If activity would be the Boolean output variable from Element Exists (e.g., PopUpExists).
  • Configuration:
    • Indicate on screen: Click this option and carefully select the "X" icon, a "Close" button, or any other element that dismisses the pop-up window. Ensure the selector for this element is specific and reliable.
    • Simulate Click / Send Windows Messages: Consider enabling these properties for background interaction or better reliability, especially if the pop-up is a browser dialog.

Example Workflow Structure

Here's how the activities would typically be arranged:

- Sequence
    - Element Exists
        - Input: Pop-up window selector
        - Output: PopUpExists (Boolean variable)
        - TimeoutMS: 5000
        - Do (If Pop-up is found)
            - Click
                - Target: "X" icon or "Close" button on the pop-up
                - ClickType: CLICK_SINGLE
                - MouseButton: MB_BTN_LEFT
                - SimulateClick: True (Optional, recommended)
    - (Continue with your main workflow)

Alternative using an If activity:

- Sequence
    - Element Exists
        - Input: Pop-up window selector
        - Output: PopUpExists (Boolean variable)
        - TimeoutMS: 5000
    - If PopUpExists (Condition: PopUpExists = True)
        - Then
            - Click
                - Target: "X" icon or "Close" button on the pop-up
                - ClickType: CLICK_SINGLE
                - MouseButton: MB_BTN_LEFT
                - SimulateClick: True (Optional, recommended)
        - Else
            - (Optional: Log Message "Pop-up not found")
    - (Continue with your main workflow)

Activity Summary Table

Activity Name Purpose Key Property/Action
Element Exists Checks if a UI element is present. Indicate on screen (select pop-up), Output (Boolean variable)
Click Interacts with a UI element. Indicate on screen (select 'X' or 'Close' button), SimulateClick (True/False)
If (Optional) Executes actions based on a condition. Condition (e.g., PopUpExists variable)

Best Practices for Robust Pop-up Handling

  • Stable Selectors: Ensure your selectors for both the pop-up window and its close button are as stable and specific as possible. Avoid dynamic attributes that might change. Use UiExplorer to refine selectors.
  • Retry Mechanisms: For intermittent pop-ups, consider placing the Element Exists and Click logic inside a Retry Scope or a While loop with a counter, allowing the bot to try closing the pop-up multiple times within a set duration.
  • Logging: Add Log Message activities to track whether the pop-up was found and closed, aiding in debugging and monitoring.
  • Error Handling: Wrap the pop-up closing logic in a Try Catch block to gracefully handle scenarios where the activities might fail unexpectedly (e.g., if the application crashes).

By following these steps and incorporating the provided reference's guidance, you can effectively manage and close pop-up windows in your UiPath automations, ensuring a smooth and reliable process flow.