-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
Description
Last Good Version
1.57.0
First Bad Version
1.58.0
Steps to reproduce
npm init -y && npm install playwright@1.58.0- Run the following code (
node file.mjs)
// file.mjs
import { firefox as myBrowser } from 'playwright';
import { writeFile } from 'fs/promises';
let myUrl = 'https://orteil.dashnet.org/cookieclicker/index.html';
let myFilename = 'index.html';
let browser = await myBrowser.launch();
let page = await browser.newPage();
let downloadWaiterCallback = () => {};
let downloadWaiter = new Promise((resolve) => {
downloadWaiterCallback = resolve;
});
await page.on('response', async (response) => {
if(response.url() == myUrl && response.ok()) {
try {
let responseBody = await response.body();
await writeFile(myFilename, responseBody);
} catch (e) {
console.log(`Problem: ${e}`);
}
downloadWaiterCallback();
}
});
await page.goto(myUrl);
await downloadWaiter;
await browser.close();Expected behavior
The given URL gets downloaded to the local file index.html.
Actual behavior
Firefox fails loudly: the console.log prints Problem: Error: response.body: Protocol error (Network.getResponseBody): Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStreamListener.onDataAvailable]
Chromium fails silently: the line if(response.url() == myUrl && response.ok()) never succeeds.
WebKit works as expected.
Additional context
Version 1.59.0-alpha-2026-03-10 has the same results.
This might be related to #39160, although I'm also having issues with Chromium.
Environment
System:
OS: Linux 6.8 Ubuntu 24.04.4 LTS 24.04.4 LTS (Noble Numbat)
CPU: (16) x64 AMD Ryzen 9 7940HS w/ Radeon 780M Graphics
Memory: 40.32 GB / 54.73 GB
Container: Yes
Binaries:
Node: 20.14.0 - /home/username/.nvm/versions/node/v20.14.0/bin/node
npm: 10.7.0 - /home/username/.nvm/versions/node/v20.14.0/bin/npm
Languages:
Bash: 5.2.21 - /usr/bin/bash
npmPackages:
playwright: ^1.58.2 => 1.58.2Reactions are currently unavailable