top of page

Cypress: Finding Web Elements

Updated: Jul 9, 2025

Cypress provides simple and powerful ways to locate and interact with web elements. This reference covers the three core methods for finding elements, how to use chaining, and recommended practices — all demonstrated using the login page at radeksto.com/test/login.


Primary Locator Methods


cy.get(selector)

Selects one or more elements globally using standard CSS selectors.

cy.find(selector)

Used after a parent element to find child elements within that scope. Improves specificity and performance.

cy.contains(text)

Finds elements by their visible text — ideal for buttons and labels.


Advanced: Chaining & DOM Traversal


Cypress supports powerful method chaining to navigate through the DOM tree.

This:


  • Starts from the username input

  • Goes up to the #comp-mcjcynyb container

  • Finds the login button

  • Confirms it contains the text “Login”

  • Clicks it


Example Spec: Finding Elements (Working Test)

Best Practices


  • Use data-cy or data-test attributes when available for stable selectors

  • Prefer meaningful IDs or names for targeting over styling classes

  • Avoid brittle, overly specific selectors (like .form > div > input)

  • Use .find() instead of long chained CSS when working within a component

  • Use .contains() for buttons and links with consistent, visible text


 
 
bottom of page