Открытие локального файла с локальными ссылками с puppeteer-firefox

Этот вопрос аналогичен открытию локального html-файла с использованием puppeteer, за исключением того, что он использует обычный Puppeteer (безголовый Chrome), а этот - версию Firefox, и я забочусь о ссылках на другие локальные файлы.

Я пытаюсь открыть локальный HTML-файл с puppeteer-firefox. Вот пример кода:

const pptrFirefox = require('puppeteer-firefox');
const path = require('path');

(async () => {
  const browser = await pptrFirefox.launch();
  const page = await browser.newPage();
  await page.goto(`file:${path.join(__dirname, 'template.html')}`);
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

Это висит в строке page.screenshot.

Я пробовал это с file: а также file:// в качестве префикса пути. Так или иначе.

Работает нормально, если URL-адрес удаленный https://example.com вместо.

Моя первая идея для обхода проблемы заключалась в том, чтобы получить строку HTML, которую я хочу, используя библиотеку шаблонов или просто readFile, а затем передать это page.setContent, Это работает, но тогда страница не будет загружать свои ресурсы, такие как относительные пути к локальным файлам изображений. Я попытался префикс этих путей активов с полным file: дорожка; нет разницы.

Я поменял кукловода-firefox на обычного кукольника, и это работает.

Будет ли безголовый Firefox просто отказываться загружать локальные файлы? Или я что-то не так делаю? Или есть ошибка в puppeteer-firefox?

0 ответов

Другие вопросы по тегам