【问题标题】:Puppeteer: Network.setCookie returns invalid string paramPuppeteer:Network.setCookie 返回无效的字符串参数
【发布时间】:2018-03-09 13:13:25
【问题描述】:

我正在学习在 Puppeteer 中使用 CDPSession class,但在使用开发工具协议的方法参数时遇到了问题。

Dev Tools Network

开发工具文档的Network.setCookie 部分显示设置name cookie 的参数是:name string,但是当我这样做时它返回错误:Error: Protocol error (Network.setCookie): Invalid parameters value: string value expected

我做错了什么?

const puppeteer = require('puppeteer');

puppeteer.launch().then(async browser => {
    const page = await browser.newPage();
    const client = await page.target().createCDPSession();
    await client.send('Network.enable');
    const setCookie = await client.send('Network.setCookie', {
        name: 'mycookie'
    });

    console.log("Set Cookie: " + setCookie.success);
    await page.goto('https://example.com');
    await browser.close();
});

【问题讨论】:

  • 答案很简单。我还需要设置valueurldomain 参数。 const setCookie = await client.send('Network.setCookie', { name: 'mycookie', value: 'Hello', domain: 'https://example.com' });
  • 这应该是一个答案,而不是评论! Answering your own question is encouraged on stackoverflow.

标签: javascript cookies google-chrome-devtools puppeteer google-chrome-headless


【解决方案1】:

答案很简单。我还需要设置值和 url 或域参数。

const setCookie = await client.send ( 'Network.setCookie', { 
    name: 'mycookie', value: 'Hello', domain: 'https://example.com' 
});

【讨论】:

  • 我们也可以使用 await page.setCookie(cookie) 来设置 cookie
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 2011-05-20
  • 2012-09-28
  • 2022-11-12
  • 2016-10-09
相关资源
最近更新 更多