Я пытаюсь загрузить файл с веб-сайта, используя Playwright . Кнопка, которая запускает загрузку, выполняет некоторое js, а затем начинается загрузка.
Нажатие кнопки с помощью функции .click
запускает загрузку, но показывает ошибку: Failed - Ошибка загрузки .
Я пытался использовать протокол devtools Page.setDownloadBehavior
, но, похоже, это ничего не делает.
const playwright = require("playwright");
const { /*chromium,*/ devices } = require("playwright");
const iPhone = devices["iPad (gen 7) landscape"];
(async () => {
const my_chromium = playwright["chromium"];
const browser = await my_chromium.launch({ headless: false });
const context = await browser.newContext({
viewport: iPhone.viewport,
userAgent: iPhone.userAgent
});
const page = await context.newPage();
const client = await browser.pageTarget(page).createCDPSession();
console.log(client);
await client.send("Page.setDownloadBehavior", {
behavior: "allow",
downloadPath: "C:/in"
});
//...and so on
await page.click("#download-button");
browser.close();
})();
Полный файл здесь
Есть предложение для лучшей загрузки API в Драматург , но я могу не могу найти текущий API. Было высказано предположение, что что-то связанное с событием downloadWillBegin
будет полезным, но я не знаю, как получить к нему доступ от Playwright.
Я открыт для предложения что вместо этого я должен использовать Puppeteer, но я перешел к драматургу, потому что не мог понять, как загрузить файл с помощью Pupeteer, и проблема, связанная с ним, предполагала, что вся команда перешла на Playwright .