Skip to content

Instantly share code, notes, and snippets.

@adatta02
Created April 7, 2019 23:05
Show Gist options
  • Save adatta02/a941856088a051cda4b7fc209a229510 to your computer and use it in GitHub Desktop.
Save adatta02/a941856088a051cda4b7fc209a229510 to your computer and use it in GitHub Desktop.
function followBot(params) {
return new Promise(async (resolve, reject) => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://mobile.twitter.com/login');
await page.waitFor('[name=\'session[username_or_email]\']');
await page.$eval('[name=\'session[username_or_email]\']', (el, params) => el.value = params.username, params);
await page.$eval('[name=\'session[password]\']', (el, params) => el.value = params.password, params);
await page.$eval('[data-testid=\'LoginForm_Login_Button\'', el => el.click());
await page.waitFor('main');
const accounts = fs.readFileSync("targets.txt", "utf8").split("\n");
for(const account of accounts){
console.log("Following " + account);
await page.goto('https://mobile.twitter.com/' + account);
await page.waitFor('.css-18t94o4');
await sleep(1000);
await page.$$eval('div', (elements) => {
return new Promise(async (resolve, reject) => {
elements.forEach(f => {
if (f.getAttribute("data-testid") && f.getAttribute("data-testid").indexOf("follow") > -1) {
f.click();
}
});
resolve(true);
});
});
await sleep(5000);
}
resolve();
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment