Skip to main content

focused

Get the DOM element that is currently focused.

Syntax​

cy.focused()
cy.focused(options)

Usage​

Correct Usage

cy.focused() // Yields the element currently in focus

Arguments​

options (Object)

Pass in an options object to change the default behavior of cy.focused().

OptionDefaultDescription
logtrueDisplays the command in the Command log
timeoutdefaultCommandTimeoutTime to wait for cy.focused() to resolve before timing out

Yields ​

  • cy.focused() yields the DOM element it found.
  • cy.focused() is a query, and it is safe to chain further commands.

Examples​

No Args​

Get the element that is focused​

cy.focused().then(($el) => {
// do something with $el
})

Blur the element with focus​

cy.focused().blur()

Make an assertion on the focused element​

cy.focused().should('have.attr', 'name', 'username')

Rules​

Requirements ​

  • cy.focused() requires being chained off a command that yields DOM element(s).

Assertions ​

  • cy.focused() will automatically retry until the element(s) exist in the DOM.
  • cy.focused() will automatically retry until all chained assertions have passed.

Timeouts ​

  • cy.focused() can time out waiting for the element(s) to exist in the DOM.
  • cy.focused() can time out waiting for assertions you've added to pass.

Command Log​

Make an assertion on the focused element

cy.focused().should('have.attr', 'name').and('eq', 'num')

The commands above will display in the Command Log as:

Command Log focused

When clicking on the focused command within the command log, the console outputs the following:

console focused

See also​