diff --git a/packages/playwright-core/src/client/browserContext.ts b/packages/playwright-core/src/client/browserContext.ts index ca9bf28749..f11096217b 100644 --- a/packages/playwright-core/src/client/browserContext.ts +++ b/packages/playwright-core/src/client/browserContext.ts @@ -229,11 +229,11 @@ export class BrowserContext extends ChannelOwner } private _onRouteListener = ({ route, browserRequest }: { route: network.Route, browserRequest?: network.Request }) => { - const page = browserRequest?._safePage(); - if (page) - page._onRoute(route); - else - this._onRoute(route); + const subject = + browserRequest?._safePage() + ?? this.pages()[0] // Fallback to the first page if no page is associated with the request. This should be the `page` fixture. + ?? this; + subject._onRoute(route); }; async _onWebSocketRoute(webSocketRoute: network.WebSocketRoute) {