Я использую Google Lighthouse в качестве модуля узла для программного извлечения отчетов о просмотре страниц с использованием следующего фрагмента:
let opts = {
chromeFlags: ['--headless'],
output: 'json'
};
let report = await chromeLauncher.launch({chromeFlags: opts.chromeFlags}).then(chrome => {
opts.port = chrome.port;
// Launch lighthouse, attached to the chrome instance we just launched
return lighthouse(target_url, opts).then(results => {
// Kill the chrome instance and return our results to the promise
return chrome.kill().then(() => results.report)
});
});
Где chromeLauncher
- это экземпляр пакета Chrome-Launcher, а lighthouse
- этоэкземпляр пакета lighthouse.
Независимо от того, какой веб-сайт я установил как target_url
, JSON, который я получаю в report
, всегда усекается в одной и той же точке с обратным ударением в качестве последнего символа.
При установке выходного значения 'html' каждый раз получается полный, работающий HTML-отчет.
Никаких ошибок или исключений не происходит.Я прочитал документацию и примеры в официальном репозитории, но затрудняюсь понять, почему я не получаю весь отчет JSON.
Редактировать: я должен также отметить, что использование инструмента маяка непрограммноиз глобального инструмента командной строки не возникает проблема - весь отчет JSON доставляется в STDOUT.