Я хотел бы загрузить файл .csv из браузера, перехватить его и извлечь данные, чтобы преобразовать его в объект JSON. В большинстве ответов говорится, что нужно использовать request.buffer (), однако моя ситуация уникальна, так как всегда говорится, что буфер пуст, но файл загружается.
Я попытался вывести запросы .buffer ()
downloadPage.on('request', request => {
console.log(request.isNavigationRequest());
console.log(nextRequest);
if (request.isNavigationRequest() && !nextRequest) {
return request.abort();
}
initialRequest = false;
request.continue();
});
downloadPage.on('response', async (response) => {
console.log(response.buffer());
file_data = JSON.parse(response.buffer());
})
await Promise.all([
downloadPage.goto('https://clients.messagelabs.com/Tools/Track-And-Trace/DownloadCsv.ashx?sessionid=' + json_data.request.SessionId).catch(err => console.log(err)),
page.waitForNavigation()
])
Поскольку я нахожусь в корпоративной сети, он не позволяет загружать мои изображения, но ...
Когда я перехожу по ссылке выше на downloadPage.goto (... ) он автоматически начинает загрузку файла .csv. Чем страница закрывается. Я думаю, что закрытие страницы очищает буфер, однако я не могу перехватить ответ, чтобы получить данные файла, прежде чем это произойдет. Любые идеи приветствуются.
Пожалуйста, не связывайте меня с другим github, который говорит мне использовать request.buffer (), так как я пробовал много вариантов.
Ошибка: ошибка протокола (сеть.getResponseBody): не найдены данные для ресурса с указанным идентификатором