Locators

Strict Mode in Playwright Locators

Strict Mode in Playwright Locators: definition, detailed explanation, practical usage, examples, mistakes, interview notes, and practice for Playwright automation.

Definition and Brief Explanation

Definition: Strict mode means Playwright expects a locator used for a single-element action to resolve to exactly one element.

Explanation: Strict mode protects tests from clicking or filling the wrong element. When strict mode fails, the correct fix is usually to make the locator more specific, not to blindly add first() or nth().

Why It Matters

  • It makes tests easier to read because the locator describes the target element clearly.
  • It reduces flaky failures caused by layout changes or generated CSS classes.
  • It works with Playwright auto-waiting, so actions and assertions wait for the element state.
  • It supports maintainable Page Object Model code because selectors are meaningful.

How It Works

  1. Identify the element by user-facing meaning first: role, label, text, placeholder, alt text, or title.
  2. Confirm the locator points to the intended element and is unique when used for an action.
  3. Use filters, chaining, or test ids when the page has repeated controls.
  4. Avoid positional locators unless order is the behavior being tested.

Syntax and Examples

Example 1: Strict mode issue

await page.getByText('Edit').click();

Explanation: Fails when multiple Edit elements exist because Playwright expects a single element for an action.

Example 2: Strict mode fix

await page.getByRole('row', { name: /Invoice 101/ })
  .getByRole('button', { name: 'Edit' })
  .click();

Explanation: Narrows the search to one row before clicking Edit.

Common Mistakes

  • Using generated CSS classes as the first option.
  • Using broad text that appears in many places.
  • Adding nth() only to silence strict mode.
  • Storing element handles instead of using locators.

Interview Notes

  1. What does Strict Mode Locators mean in Playwright?
  2. When would you choose Strict Mode Locators?
  3. How do you make the locator unique?
  4. What makes this locator stable or unstable?

Practice Task

Create a small Playwright example for Strict Mode Locators. Add one positive assertion, one note about what can go wrong, and one improvement that would make the test more maintainable.