# Locator candidates

An ordered list of ways to find the same element, tried in turn until one matches exactly one element.

Candidates are ranked by how stable they tend to be: a test id first, then a role with an accessible name, a stable id, exact text, and positional CSS last. A candidate that matches several elements is skipped rather than guessed at.

```
{
  "fill": {
    "candidates": [
      {
        "testid": "email"
      },
      {
        "role": "textbox",
        "name": "Email"
      },
      "#email"
    ]
  },
  "value": "{{inputs.email}}"
}
```

## Related

- [Self-healing locators](/product/self-healing)
- [Scrape a website that requires login](/use-cases/scrape-behind-login)
- [Self-healing locator](/glossary/self-healing-locator)
