Untitled

 avatar
unknown
plain_text
2 years ago
1.4 kB
4
Indexable
var nodes = document.getElementsByClassName("measle-icon");
var lastText = "";
var initialLen = document.getElementsByClassName("map-text-wrapper").length;
var pairs = [];

var chainClick = (idx) => {
  if (idx >= nodes.length) {
    return null;
  }
  return new Promise((r) => {
    var element = nodes[idx];
    element.click();
    let waiter = () => {
	let texts = document.getElementsByClassName("map-text-wrapper");
      let text = texts[texts.length - 1].innerText.replace(" at", "");
      if (texts.length == initialLen || lastText == text) {
        element.click();
        setTimeout(waiter, 1);
      } else {
        lastText = text;
        pairs.push({
          element,
          date: new Date(text),
          dateNum: new Date(text).getTime()
        });
        r(chainClick(idx + 1));
      }
    };
    setTimeout(waiter, 1);
  });
};

await chainClick(0);
pairs = pairs.sort((a, b) => {
  if (a.dateNum > b.dateNum) { return 1; }
  if (a.dateNum < b.dateNum) { return -1; }
  return 0;
});

for (var idx = 1; idx < pairs.length; idx++) {
  let pair = pairs[idx];
  if (pair.dateNum - pairs[idx - 1].dateNum > 5 * 60000) {
    pair.element.style.backgroundColor = 'orange';
    pairs[idx - 1].element.style.backgroundColor = 'blueviolet';
    console.log('warp', pairs[idx - 1].date, pair.date);
    console.log('elem', pairs[idx - 1].element, pair.element);
  }
}
console.log(pairs);
Editor is loading...