---
title: "Verify element in a web test"
sidebarTitle: "Verify element"
description: "Check that an element of the page is, or is not, displayed, clickable, enabled, or present, and fail the web test when it is not."
lastUpdated: "2026-09-23"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

Verify the state of an element: the confirmation banner is displayed, the Submit button is clickable, the loading spinner is gone. The step waits until the condition is met and fails if it never is within the waiting time. This is the main verification step for web tests, and a robust alternative to fixed delays.

## Parameters

| Parameter | Required | Description |
| ----------- | ---------- | ------------- |
| Target element | Yes, unless a manual selector is set | Natural-language description of the element to verify. |
| Manual selector | No | XPath or CSS selector, used when AI is disabled or as the saved selector. |
| Condition | Yes | `is` or `is not`. "is not" sets `reverse: true` on the chosen state. |
| State | Yes | The state to check. Default: `displayed`. `exist` is labeled "present" in the builder: the element is in the UI tree, visible or not. |
| Max. waiting time | No | How long to wait for the condition before failing, in seconds. |
| Ignore error on this step | No | The run continues with the next step if this one fails. Default: off. |

The four states:

- **displayed**: the element is visible on the screen.
- **clickable**: the element is visible and can receive a click or tap.
- **enabled**: the element is active (not disabled).
- **present**: the element exists in the UI tree, even if hidden.

## Results and metrics

- **Timing**: start, end, and duration (in seconds). The duration shows how long the condition took to become true, a useful signal in itself.
- **Status**: success as soon as the condition is met, failed if the waiting time runs out.
- **Screenshot**: captured for the verified state.

## What's next?

<Columns cols={2}>
  <Card title="Verify with AI" icon="sparkles" href="/tests/actions/web/aivisualassert">

    Verify whole-screen states in plain language instead of one element

</Card>
  <Card title="Wait for delay" icon="clock" href="/tests/actions/web/waitfordelay">

    Pause for a fixed time when there is nothing to observe

</Card>
</Columns>
