首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在变量中设置cookie并再次使用它:木偶师

如何在变量中设置cookie并再次使用它:木偶师
EN

Stack Overflow用户
提问于 2022-01-21 23:18:20
回答 2查看 816关注 0票数 0

我试图在一个变量中插入所有浏览器cookie,然后稍后再使用它。

我的尝试:

代码语言:javascript
运行
复制
    const puppeteer = require('puppeteer')
const fs = require('fs').promises;

(async () => {
  const browser = await puppeteer.launch({ 
    headless: false,
    executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
 const page = await browser.newPage();
 await page.goto('https://www.google.com/');

下面是我获得cookie的代码,它可以工作,但是现在它打印了一条错误消息。

代码语言:javascript
运行
复制
 const client = await page.target().createCDPSession();
 const all_browser_cookies = (await client.send('Network.getAllCookies')).cookies;
 const current_url_cookies = await page.cookies();
 var third_party_cookies = all_browser_cookies.filter(cookie => cookie.domain !== current_url_cookies[0].domain);

下面是seccond页面(将使用cookie)

代码语言:javascript
运行
复制
 (async () => {
    const browser2 = await puppeteer.launch({
    });
    const url = 'https://www.google.com/';
    const page2 = await browser2.newPage();

  try{
  await page2.setCookie(...third_party_cookies);
  await page2.goto(url);
  }catch(e){
      console.log(e);
  }
  await browser2.close()
  })();

})();

直到昨天,它才起作用,但今天它出现了以下消息错误:

代码语言:javascript
运行
复制
Error: Protocol error (Network.setCookies): Invalid parameters Failed to deserialize params.cookies.expires - BINDINGS: double value expected at position 662891

有人知道这是什么吗?

EN

Stack Overflow用户

发布于 2022-01-22 10:43:42

好的,解决方案在这里:https://github.com/puppeteer/puppeteer/issues/7029

您正在保存一系列cookie,而page.setCookie只对一个cookie起作用。你必须像这样迭代你的数组:

代码语言:javascript
运行
复制
for (let i = 0; i < third_party_cookies.length; i++) {
    await page2.setCookie(third_party_cookies[i]);
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70808628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档