# Element Exists

> `UiPath.Core.Activities.UiElementExists`

`UiPath.Core.Activities.UiElementExists`

Enables you to verify if a UI element exists, even if it is not visible.

## Properties

### **Common**

* **DisplayName** - The display name of the activity.

### **Input**

* **Target.Target** - Identifies the UI element. Select From the drop-down one of the following options: **Target**, **Null**. The default option is **Target**.
* **Target.ClippingRegion** - Defines the clipping rectangle, in pixels, relative to the `UiElement`, in the following directions: left, top, right, bottom. It supports both positive and negative numbers.
* **Target.Element** - Use the UiElement variable returned by another activity. This property cannot be used alongside the **Selector** property. This field supports only `UiElement` variables.
* **Target.Selector** - Text property used to find a particular UI element when the activity is executed. It is actually an XML fragment specifying
  attributes of the GUI element you are looking for and of some of its parents.
* **Target.TimeoutMS** - Specifies the amount of time (in milliseconds) to wait for the activity to run when the element does not exist..
* **Target.WaitForReady** - Before performing the actions, wait for the target to become ready. The following options are available:
  + **None** - Does not wait for anything except the target UI element to exist before executing the action. For example, you can use
    this option if you want to retrieve just text from a web page or click a particular button, without having to wait for all
    UI elements to load. Note that this may have unwanted consequences if the button relies on elements that are not yet loaded,
    such as scripts.
  + **Interactive** - Waits for the target app to indicate readiness, although some assets may still be loading.
* **Complete** - Waits for all of the UI elements in the target app to load before actually executing the action.
  :::note
  To assess if an application is in the **Interactive** or **Complete** state, the following tags are verified:
  * **Desktop applications** - A `wm\_null` message is sent to check the existence of the `<wnd>`, `<ctrl>`, `<java>`, or `<uia>` tags. If they exist, the activity is executed.
  * **Web applications:**
  * **Internet Explorer** - The `<webctrl>` tag is used to check if the **Ready** state of the HTML document is set to **Complete**. Additionally, the **Busy** state has to be set to "False".
  * **Others** - The `<webctrl>` tag is used to check if the **Ready** state of the HTML document is **Complete**.
  * **SAP applications** - First the presence of the `<wnd>` tag verified, after which an SAP specific API is used to detect if the session is busy or not.
  :::

### **Misc**

* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level.

### **Output**

* **Exists** - Indicates if the element exists or not. The field supports only Boolean variables.

## Example of using the Element Exists activity

[Here](https://docs.uipath.com/activities/other/latest/ui-automation/html-pages-extract-and-manipulate-information) you can see how the **Element Exists** activity is used in an example that incorporates multiple activities.
