Skip to content

Instantly share code, notes, and snippets.

@yaredc
Created July 5, 2021 19:26
Show Gist options
  • Save yaredc/008c3bdb3ed89b49944ea7e10eedabfa to your computer and use it in GitHub Desktop.
Save yaredc/008c3bdb3ed89b49944ea7e10eedabfa to your computer and use it in GitHub Desktop.
Facebook History Chat Dump Order
let divDateMap = new Map;
let divIterator = document.evaluate("/html/body/div/div/div/div[2]/div[2]/div", document);
let messageNode = divIterator.iterateNext();
while (messageNode) {
let dateNodeIterator = document.evaluate("div[3]", messageNode);
let dateNode = dateNodeIterator.iterateNext();
if (dateNode === null) {
messageNode = divIterator.iterateNext();
continue;
}
let date = Date.parse(dateNode.textContent);
divDateMap.set(date, messageNode);
messageNode = divIterator.iterateNext();
}
let divDateMapOrdered = new Map([...divDateMap.entries()].sort());
let mainIterator = document.evaluate("/html/body/div/div/div/div[2]/div[2]", document);
let main = mainIterator.iterateNext();
main.innerHTML = "";
for (let [key, value] of divDateMapOrdered) {
main.appendChild(value);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment