cooldude101
cooldude101

Reputation: 1415

Headless Chrome Puppeteer Skip Logging In To Twitter Using Cookies?

Is it possible to skip logging in to twitter by setting cookies?

I tried to copy an paste what I got from "document.cookie" in web console but that gave me the error Invalid parameters name: string value expected

await page.setCookie({
    personalization_id: "v1_VDBAhQo+RMCSceKUBXfs3w==",
    guest_id: "v1%3A150575165219105300",
    ct0: "d9343a3b062832b6ec23a84747e518b3",
    _gat: "1m",
    ads_prefs: "HBERAAA=",
    remember_checked_on: 1,
    twid: "u=908918507005456384",
    lang: "en",
    tip_nightmode: true,
    _ga: "GA1.2.1275876041.1505751657",
    _gid: "GA1.2.1311587009.1505751657"
})

Upvotes: 2

Views: 1708

Answers (2)

wdw
wdw

Reputation: 11

async function addCookies(cookies_str, page, domain){
    let cookies = cookies_str.split(';').map(pair=>{
        let name = pair.trim().slice(0,pair.trim().indexOf('='))
        let value = pair.trim().slice(pair.trim().indexOf('=')+1)
        return {name,value,domain}
    });
    await Promise.all(cookies.map((pair)=>{
        return page.setCookie(pair);
    }))
}

this is my way to add cookies, cookies_str was copied from browser;

Upvotes: 1

Seb D.
Seb D.

Reputation: 5195

The correct syntax for setCookie is not what you used, it's:

setCookie(cookie1, cookie2, ...)

where cookie is an object containing name and value keys, like

setCookie({name: 'lang', value: 'en'})

Remember to set the cookies before loading Twitter, or to reload the page after setting them, and everything should work.

Upvotes: 1

Related Questions