How to handle browser sessions in Puppeteer?

Handling browser sessions in Puppeteer is a critical task when performing web scraping or automating browsing. It involves managing cookies and storage to maintain the state of the browsing session.

Puppeteer provides various methods to handle browser sessions.

Storing the Session:

You can use the page.cookies() method to get all cookies in the current browsing session and store them. Here is an example:

const puppeteer = require('puppeteer');

async function run() {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('http://www.example.com');

    // Get cookies
    const cookies = await page.cookies();
    // Do something with the cookies
    console.log(cookies);

    await browser.close();
}

run();

Restoring the Session:

Once you have the cookies, you can set them back into the browser using the page.setCookie(...cookies) method.

const puppeteer = require('puppeteer');

async function run() {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();

    // Set cookies
    await page.setCookie(...cookies);

    await page.goto('http://www.example.com');

    await browser.close();
}

run();

Clearing the Session:

To clear the browsing session, you can clear cookies and other site data:

const puppeteer = require('puppeteer');

async function run() {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();

    // Clear cookies
    await page.deleteCookie(...cookies);

    // Clear local storage
    await page.evaluate(() => {
        localStorage.clear();
    });

    await browser.close();
}

run();

Remember to replace ...cookies with the actual cookies you have stored. Also, note that clearing the session will log you out from all accounts and remove any saved data in the browser.

These are the basic concepts of handling browser sessions in Puppeteer. Depending on your specific needs, you might need to adapt these examples.

Related Questions

Get Started Now

WebScraping.AI provides rotating proxies, Chromium rendering and built-in HTML parser for web scraping
Icon