Function To Export Data To CSV - Automatic Scrooling
Function To Export Data To CSV - Automatic Scrooling
buttonContainer.appendChild(buttonText);
buttonContainer.appendChild(memberCountSpan);
buttonContainer.appendChild(membersText);
buttonContainer.addEventListener("click", function () {
var timestamp = (new Date).toISOString();
exportToCsv("groupMemberExport-" + timestamp + ".csv", window.members_list);
});
container.appendChild(buttonContainer);
document.body.appendChild(container);
return container;
}
var members;
if (data.new_members && data.new_members.edges) {
members = data.new_members.edges;
} else if (data.new_forum_members && data.new_forum_members.edges) {
members = data.new_forum_members.edges;
} else {
if (!data.search_results || !data.search_results.edges) {
return;
}
members = data.search_results.edges;
}
window.members_list.push.apply(window.members_list, parsedData);
var memberCountSpan = document.getElementById("fb-group-scraper-number-tracker");
if (memberCountSpan) {
memberCountSpan.textContent = window.members_list.length.toString();
}
}
// Function to parse API response
function parseResponse(responseText) {
var responses = [];
try {
responses.push(JSON.parse(responseText));
} catch (error) {
var lines = responseText.split("\n");
if (lines.length <= 1) {
console.error("Fail to parse API response", error);
return;
}
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
try {
responses.push(JSON.parse(line));
} catch (error) {
console.error("Fail to parse API response", error);
}
}
}
// Main function
function main() {
buildCTABtn();
var originalSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function () {
var xhr = this;
xhr.addEventListener("readystatechange", function () {
if (xhr.responseURL.includes("/api/graphql/") && xhr.readyState === 4) {
parseResponse(xhr.responseText);
}
}, false);
originalSend.apply(this, arguments);
};
// Auto-scrolling
var scrollInterval = setInterval(function () {
window.scrollBy(0, document.body.scrollHeight);
}, 1000); // Adjust scroll interval here (milliseconds)
}