Skip to main content
A browser load event does not mean that an application’s data has appeared. Configure readiness around something observable in the target page.
The selector and text above are examples. Replace them with markers present on your target.

Timing controls

The capture timeout does not define the lifetime of the HTTP connection. A queued or slow capture can return 202 and complete later. Give your client a separate overall job deadline. Prefer a specific readiness selector over a large unconditional delay. Pages with continuous network traffic may need a selector with wait_for_idle: false.

Reject unusable output

These are guardrails for known expectations, not a guarantee that every visual defect can be detected. A rejection returns render_incomplete rather than reporting a usable successful artifact. If a required marker fails, first check that it appears in the actual target page and is compatible with your locale and content filters. Increase waiting only when the page genuinely needs more time.