Этот вопрос (своего рода) следует за этим ТАКИМ вопросом от некоторое время назад.
Я уже успешно установил и протестировал Webshot.js - и он действительно отлично работает! На все, кроме его целевого назначения. Я делаю скриншот общедоступных / опубликованных отчетов PowerBI. Они пустые. Всегда.
Мой код:
webshot('https://app.powerbi.com/view?r=ReallyLongURLKey',
'./workdammit.png', function(err) {
if (err) return console.log(err);
console.log('Screenshot taken!');
});
Я много перепутал с настройками, позволяющими очень долго рендерить, обрабатывать ошибки, настраивать размер экрана, все. Ничего не получалось, и лучший результат, который я смог получить, был жестко заданный нижний колонтитул без всех графических элементов, которые я действительно хотел.
![The image, all blank save the footer.](https://i.stack.imgur.com/PDtpW.png)
Я был потерян, пока не наткнулся на вопрос StackOverflow, который я связал сверху. Webshot.js основан на Phantom.js, который не поддерживает WebGL. Угадайте, что PowerBI использует для визуализации своих графиков. WebGL .
Я хотел бы вынуть страницу из сборника пьес Келлифелкинса, но я не уверен, как справиться с этим решением или даже с чего начать, поскольку наши проблемы и отправные точки не совпадают.
Есть ли способ в любом случае "принудительно" сделать скриншот из-за отсутствия лучшего термина? Может, подать в Webshot параметр, имитирующий веб-страницу, соответствующую требованиям? Использовать другую библиотеку?