Playwright解决永久保存下载文件

Playwright默认在浏览器关闭的时候,所有的临时文件都将删除,无论你是自定义位置还是默认位置。那么如何正确下载对应的文件呢?废话不多说,大家直接看以下代码即可:

这里还是告诫大家一下,多研究官网的API文档,别学我慌慌张张去搞了,啥都没看。

const { chromium, firefox, webkit } = require('playwright');

(async () => {
  // 指定下载文件位置
  const browser = await chromium.launch({downloadsPath: "Download URL Path", headless: false});
  const page = await browser.newPage();
  await page.goto('Request URL');
  // 获取下载对象
  const [ download ] = await Promise.all([
    // 指定等待下载事件
    page.waitForEvent('download'),
    // 点击下载元素
    page.locator('Element').click(),
  ]);
  // 下载路径,包含临时文件名
  const path = await download.path();
  // 文件全称,含后缀
  const fileName = download.suggestedFilename();
  // 保存文件
  await download.saveAs(path + fileName);
  await page.waitForTimeout(3000);
  await browser.close();
})();

你可能感兴趣的:(Web前端,javascript)