【发布时间】:2018-03-09 13:13:25
【问题描述】:
我正在学习在 Puppeteer 中使用 CDPSession class,但在使用开发工具协议的方法参数时遇到了问题。
开发工具文档的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();
});
【问题讨论】:
-
答案很简单。我还需要设置
value和url或domain参数。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