【问题标题】:Playwright get cookie剧作家得到饼干
【发布时间】:2021-02-16 06:01:51
【问题描述】:

我需要从一个页面获取 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()))

【问题讨论】:

  • await context.cookies() 返回什么? (没有 URL 过滤)
  • 它返回一个空数组

标签: node.js playwright


【解决方案1】:

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

还有 context.storageState() 现在在 playwright 中可用,它将返回所有 cookie 和本地存储。见here。

【讨论】:

【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-09-16
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 2021-08-02
    • 2022-12-06
    • 2020-08-10
    • 1970-01-01
    相关资源
    最近更新 更多