Вот что делают эти инструменты,
- phantomJS - это набор Headless WebKit с возможностью создания сценариев. Похож на хром браузер. Это устарело, и проект заархивирован.
- chromium : Chromium - это проект браузера Google с открытым исходным кодом. Это полностью функциональный браузер сам по себе и предоставляет подавляющее большинство кода для браузера Google Chrome.
- chromium-headless : Headless Chrome поставляется в Chrome 59. Это способ запуска браузера Chrome в автономной среде. По сути, работает Chrome без хрома! Он объединяет все современные функции веб-платформы, предоставляемые Chromium и механизмом рендеринга Blink, в командную строку.
- Puppeteer : Puppeteer - это библиотека узлов, которая предоставляет API высокого уровня для управления Chrome или Chromium по протоколу DevTools. По умолчанию кукловод работает без головы, но может быть настроен для работы с полным (без заголовка) Chrome или Chromium.
Вы можете управлять экземпляром хрома и хрома без головы с помощью кукловода. Конечно, это позволит вам предоставлять аргументы и генерировать PDF с использованием этого API.
Вы можете управлять одним и тем же API, используя Chrome CLI и Puppeteer.
Вот как можно использовать хром без заголовка для создания PDF-файла веб-сайта.
chrome --headless --disable-gpu --print-to-pdf https://www.chromestatus.com/
Вот то же самое, используя кукловода,
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.chromestatus.com/');
await page.pdf({path: 'chromestatus.pdf', format: 'A4'});
await browser.close();
})();