Как я могу запустить несколько экземпляров браузера с различными сессиями, используя puppeteer - PullRequest
0 голосов
/ 21 марта 2020

Прямо сейчас я использую один сеанс приготовления ie с экземпляром браузера для аутентификации, я хочу запустить несколько экземпляров с разными сеансами, чтобы я мог проходить аутентификацию для разных учетных записей последовательно или параллельно с использованием рекурсии.

const puppeteer = require('puppeteer');

(async ()=>{

    const browser= await puppeteer.launch({
            "headless": false,
            "slowMo":50

    });


    const page= await browser.newPage(); 

    var cookie = [

        {
            "domain": ".www.example.com",
            "expirationDate": 55102.289054,
            "hostOnly": false,
            "httpOnly": true,
            "name": "dokl",
            "path": "/",
            "sameSite": "no_restriction",
            "secure": true,
            "session": false,
            "storeId": "0",
            "value": "PQYv5oCnyhx66qOzqtVxIoPYuzSq6p2wpd5365YkPCgHUqLY0reaiB",
            "id": 17
        }

        ]
    await page.setCookie(...cookie)
    await page.goto("https://www.example.com/");
    console.log(await page.content())
    await browser.close();
})();

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете очистить кэш браузера и удалить куки после каждой итерации, используя следующий код:

const cdpClient = await page.target().createCDPSession();
await cdpClient.send('Network.clearBrowserCookies');
await cdpClient.send('Network.clearBrowserCache');
...