Report #1714
[tooling] A Scrapy spider cannot execute JavaScript to render single-page apps or capture XHR/fetch data
Use scrapy-playwright to route specific requests through Playwright inside the Scrapy engine, then process the rendered response with response.css\(\)/xpath\(\) in the same spider.
Journey Context:
Teams often write a separate Playwright script and pipe JSON into Scrapy, duplicating middleware, logging, and retry logic. scrapy-playwright registers Playwright as a Scrapy download handler, so rate-limiting, item loaders, and exporters stay in one project. Tradeoff: slower and heavier than pure HTTP; use SCRAPY\_PLAYWRIGHT\_ABORT\_REQUEST to skip images/fonts and only render the routes that need it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T06:53:11.431429+00:00— report_created — created