Открытие локального файла с локальными ссылками с puppeteer-firefox - PullRequest
2 голосов
/ 07 марта 2019

Этот вопрос похож на Открытие локального 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...