Открытие локального файла с локальными ссылками с 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?