Это может выглядеть как решение с небольшими накладными расходами ...
Вы можете использовать Mozilla Firefox с плагином MozRepl. По сути, этот плагин предоставляет вам порт Telnet для вашего Firefox, который позволяет вам управлять браузером извне. Вы можете открывать URL, делать скриншоты и т. Д.
Запуск Firefox с сервером Xvfb запустит его в автономном режиме.
Теперь вам просто нужно управлять браузером извне с помощью node.js. Я видел несколько примеров, когда кто-то реализовал интерфейс, подобный http, внутри chrome.js в Firefox. Таким образом, вы можете запустить команду http, чтобы получить скриншот. Затем вы можете использовать http-вызовы из node.js. Это может выглядеть странно, но на самом деле это может сработать для вас.
Я использую слегка модифицированную версию с Perl Mojolicious в асинхронном режиме, чтобы вызвать скриншоты. Однако есть небольшая проблема. Когда требуются плагины, они работают, однако Flash обычно активируется, когда он находится в видимой области, этого не происходит, поэтому фильмы / флэш-объекты могут не инициализироваться.