Мне нужно извлечь некоторые данные с веб-страницы и сохранить их в CSV-файле для открытия в Excel. Я пытаюсь сделать это из консоли браузера, но получаю неопределенную ошибку.
До сих пор я пытался использовать этот код для экспорта таблицы:
function exportTableToCSV(filename) {
var csv = [];
var rows = document.querySelectorAll("table tr");
for (var i = 0; i < rows.length; i++) {
var row = [], cols = rows[i].querySelectorAll("td, th");
for (var j = 0; j < cols.length; j++)
row.push(cols[j].innerText);
csv.push(row.join(","));
}
// Download CSV file
downloadCSV(csv.join("\n"), filename);
}
Когда я определяю эту функцию и запускаю ее, я получаю сообщение «ошибка downloadCSV не определена». Есть ли какие-то ограничения встроенной консоли браузера в Chrome, кроме очевидных?
Этот код также необходимо запускать в цикле, поскольку существует несколько страниц с таблицами, но было бы неплохо, чтобы все это находилось в одном файле CSV. Для начала нужно просто извлечь все, что можно найти в таблице. Я погрузлюсь и извлеку нужные мне поля позже, когда я получу эту работу.
Edit:
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
csvFile = new Blob([csv], {
type: "text/csv"
});
downloadLink = document.createElement("a");
downloadLink.download = filename;
downloadLink.href = window.URL.createObjectURL(csvFile);
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
downloadLink.click();
}