Skip to content

[Feature]: Ignore persistent connections (like WebSockets) in page.waitForLoadState('networkidle') #570

@ksn5

Description

@ksn5

Problem
page.waitForLoadState('networkidle') never resolves if the page opens a WebSocket, SSE, or other persistent request, because those connections stay open forever

Example (current behavior)

await page.waitForLoadState('networkidle'); 
// ❌ Never resolves if a WebSocket is active

Proposed solution
Add an option (or new mode) to ignore persistent connections when waiting for network idle.

// Option 1: flag
await page.waitForLoadState('networkidle', { ignorePersistent: true });

// Option 2: alias
await page.waitForLoadState('networkidle-ignore-persistent');

This would:

  • Ignore WebSocket and SSE connections
  • Still wait for other requests to finish (XHR, fetch, etc.)
  • Avoid hanging forever while keeping the page readiness check reliable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions