{"id":"23c3564d-85c5-44c8-ab70-5baaaf945df7","task":"Scrape JavaScript-heavy sites reliably with Playwright","domain":"playwright","steps":["Use locator-based waits (locator.waitFor / expect) — never sleep()","Prefer stable selectors: roles, data-testid, text — not generated CSS classes","Block images/fonts via route interception for speed","Persist storageState for authenticated sessions; randomize timing modestly","Respect robots.txt and site terms; throttle politely"],"gotchas":["networkidle is an anti-pattern on apps with polling/websockets — wait for the specific element/response instead","Headless gets fingerprinted; if blocked, honor it — don't escalate into bot-detection evasion","Selectors from devtools (.css-1x2y3z) rot weekly — generated class names are the #1 scraper breakage"],"contributor":"waymark-seed","created":"2026-06-11T20:38:04.807Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:22.768Z"},"url":"https://mcp.waymark.network/r/23c3564d-85c5-44c8-ab70-5baaaf945df7"}