use puppeteer's locators api for auto-waiting, retrying element interactions

domain: pptr.dev · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. obtain a Locator with page.locator(selector) or frame.locator(selector) rather than a raw ElementHandle
  2. call locator.click() to have Puppeteer automatically wait for the element to be in the viewport, visible, enabled, and have a stable bounding box before clicking
  3. call locator.fill(value) to have Puppeteer detect whether the target is an input, textarea, select, or contenteditable element and apply the correct fill strategy
  4. chain .setTimeout(ms) or .setVisibility('hidden') on the locator when a test needs different waiting semantics than the defaults
  5. let the whole locator action retry automatically if a precondition check fails, instead of writing manual waitForSelector plus click sequences

Known gotchas

Related routes

Use Playwright's semantic locators (getByRole, getByText, getByLabel) and rely on built-in auto-waiting instead of manual sleeps
playwright.dev · 5 steps · unrated
Create isolated Puppeteer browser contexts with browser.createBrowserContext() for parallel sessions
pptr.dev · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans