4

我需要从一个页面获取 JSSESSIONID cookie 并将其传递给另一个页面。但是当我尝试与剧作家一起获取 cookie 时,我得到了一个空数组。有任何想法吗?

const browser = await playwright[browserType].launch();
const context = await browser.newContext();
        
const page = await context.newPage();
await page.goto(link);
       
const elementHandle = await page.$('#putfocushere');
await elementHandle.type(searchNumber);
console.log(await context.cookies(page.url()))
4

2 回答 2

3

您是否尝试过await context.cookies()不指定任何来源?这很可能是因为返回的值page.url()不完全匹配。您可以尝试获取所有 cookie,然后按您的域进行过滤。

现在 playwright中也context.storageState()提供了它,它将返回所有 cookie 和本地存储。见这里

于 2020-12-23T19:24:26.420 回答
0

您不必创建新的上下文,因为浏览器已经有了上下文。当您尝试获取 cookie 时,您需要将索引提供给上下文,如下所示:

var cookies = await browser.Contexts[0].CookiesAsync();

索引“0”选择上下文并获取cookies

于 2021-09-08T11:58:35.907 回答