Skip to content

Instantly share code, notes, and snippets.

@Sanusihassan
Last active November 13, 2023 16:58
Show Gist options
  • Save Sanusihassan/503da1c9567eb14d83e39ccf8e1743f1 to your computer and use it in GitHub Desktop.
Save Sanusihassan/503da1c9567eb14d83e39ccf8e1743f1 to your computer and use it in GitHub Desktop.
fb-add-friend script
function findElementsWithText(text) {
let elements = [];
let iterator = document.evaluate('//*[contains(text(), "' + text + '")]', document, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
let thisNode = iterator.iterateNext();
while (thisNode) {
elements.push(thisNode);
thisNode = iterator.iterateNext();
}
return elements;
}
function findParent(element, selector) {
let parent = element.closest(selector);
if (!parent) {
parent = element.parentElement;
if (parent) {
parent = parent.parentElement;
if (parent) {
parent = parent.parentElement;
}
}
}
return parent;
}
function clickOnElements(elements, delay) {
let i = 0;
function next() {
if (i < elements.length) {
elements[i].click();
i++;
setTimeout(next, delay);
}
}
next();
}
let elements = findElementsWithText('Add friend');
let parents = elements.map(element => findParent(element, 'div.x1n2onr6.x1ja2u2z.x78zum5.x2lah0s.xl56j7k.x6s0dn4.xozqiw3.x1q0g3np.xi112ho.x17zwfj4.x585lrc.x1403ito.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.xn6708d.x1ye3gou.x1qhmfi1.x1r1pt67'));
clickOnElements(parents, 500);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment