Skip to content

Instantly share code, notes, and snippets.

@Mahdhir
Created April 15, 2020 15:45
Show Gist options
  • Save Mahdhir/56eb81788a76e616399cf801988c479c to your computer and use it in GitHub Desktop.
Save Mahdhir/56eb81788a76e616399cf801988c479c to your computer and use it in GitHub Desktop.

Revisions

  1. Mahdhir created this gist Apr 15, 2020.
    40 changes: 40 additions & 0 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    const puppeteer = require('puppeteer');
    const fs = require('fs');
    const config = require('./config.json');
    const cookies = require('./cookies.json');

    (async () => {
    console.log('Hello World');
    //insert code here

    let browser = await puppeteer.launch({ headless: false });
    const context = browser.defaultBrowserContext();
    context.overridePermissions("https://www.facebook.com", []);
    let page = await browser.newPage();
    await page.setDefaultNavigationTimeout(100000);
    await page.setViewport({ width: 1200, height: 800 });

    if (!Object.keys(cookies).length) {
    await page.goto("https://www.facebook.com/login", { waitUntil: "networkidle2" });
    await page.type("#email", config.username, { delay: 30 })
    await page.type("#pass", config.password, { delay: 30 })
    await page.click("#loginbutton");
    await page.waitForNavigation({ waitUntil: "networkidle0" });
    await page.waitFor(15000);
    try {
    await page.waitFor('[data-click="profile_icon"]');
    } catch (err) {
    console.log("failed to login");
    process.exit(0);
    }
    let currentCookies = await page.cookies();
    fs.writeFileSync('./cookies.json', JSON.stringify(currentCookies));
    } else{
    //User Already Logged In
    await page.setCookie(...cookies);
    await page.goto("https://www.facebook.com/", { waitUntil: "networkidle2" });
    }

    //Close Browser
    //await browser.close();
    })();