2

是否可以通过设置 cookie 跳过登录 Twitter?

我试图在 Web 控制台中复制从“document.cookie”获得的内容,但这给了我错误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"
})
4

2 回答 2

1

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);
    }))
}

这是我添加 cookie 的方式,cookies_str 是从浏览器复制的;

于 2018-05-16T03:15:33.450 回答
1

正确的语法setCookie不是你使用的,它是:

setCookie(cookie1, cookie2, ...)

cookie包含namevalue键的对象在哪里,例如

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

请记住在加载 Twitter 之前设置 cookie,或者在设置它们之后重新加载页面,一切都应该正常。

于 2017-10-18T18:05:41.897 回答