Back to All Questions
Question 40 of 100
Locators
Beginner
What is the importance of getByPlaceholder locator in Playwright?
The Answer
`getByPlaceholder` finds input elements by their `placeholder` attribute. It's useful when an input has no visible label but has a descriptive placeholder text.
Deep Dive Explanation
While useful, placeholder-based locators are slightly less robust than `getByLabel` because placeholder text often changes more frequently and is less semantically meaningful. Prefer `getByLabel` when an accessible label exists. Use `getByPlaceholder` for search inputs and filter boxes that typically lack labels.
example.spec.ts
// HTML: <input placeholder="Search products..." type="text">
await page.getByPlaceholder('Search products...').fill('laptop');
// Case-insensitive match
await page.getByPlaceholder('enter email', { exact: false }).fill('test@example.com');
// Useful for search bars without labels
await page.getByPlaceholder('Type to filter...').fill('admin');
await expect(page.getByPlaceholder('Type to filter...')).toHaveValue('admin');