microsoft/playwright · error · Error

WebView has been closed

Error message

WebView has been closed

What it means

Error "WebView has been closed" thrown in microsoft/playwright.

Source

Thrown at packages/playwright-core/src/server/android/android.ts:331

    const chromeArguments = [];
    if (proxy) {
      chromeArguments.push(`--proxy-server=${proxy.server}`);
      const proxyBypassRules = [];
      if (proxy.bypass)
        proxyBypassRules.push(...proxy.bypass.split(',').map(t => t.trim()).map(t => t.startsWith('.') ? '*' + t : t));
      if (shouldProxyLoopback(proxy.bypass))
        proxyBypassRules.push('<-loopback>');
      if (proxyBypassRules.length > 0)
        chromeArguments.push(`--proxy-bypass-list=${proxyBypassRules.join(';')}`);
    }
    chromeArguments.push(...args);
    return chromeArguments;
  }

  async connectToWebView(progress: Progress, socketName: string): Promise<BrowserContext> {
    const webView = this._webViews.get(socketName);
    if (!webView)
      throw new Error('WebView has been closed');
    return await this._connectToBrowser(progress, socketName);
  }

  private async _connectToBrowser(progress: Progress, socketName: string, options: types.BrowserContextOptions = {}): Promise<BrowserContext> {
    const socket = await this._waitForLocalAbstract(progress, socketName);
    try {
      const androidBrowser = new AndroidBrowser(this, socket);
      await progress.race(androidBrowser._init());
      this._browserConnections.add(androidBrowser);

      const artifactsDir = await progress.race(fs.promises.mkdtemp(ARTIFACTS_FOLDER));
      const cleanupArtifactsDir = async () => {
        const errors = (await removeFolders([artifactsDir])).filter(Boolean);
        for (let i = 0; i < (errors || []).length; ++i)
          debug('pw:android')(`exception while removing ${artifactsDir}: ${errors[i]}`);
      };
      gracefullyCloseSet.add(cleanupArtifactsDir);
      socket.on('close', async () => {

View on GitHub (pinned to c8fc3bf8d3)

When it happens

Trigger: Thrown at packages/playwright-core/src/server/android/android.ts:331 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of microsoft/playwright@c8fc3bf8d3 (2026-08-12). Data as JSON: /api/errors/b71a82370c4ef520. Report an issue: GitHub.