首页 > 解决方案 > 这是错误:协议错误(Network.setCookies):目标已关闭

问题描述

我正在使用 pupeteer 抓取特定网站https://www.example.com

puppeteer.launch({headless: false, args: ['--no-sandbox','--proxy-server='+req.body.proxyIp]}).then(async browser => {
if(req.body.cookieParam){
       var cookieParam = JSON.parse(req.body.cookieParam);
       await page.setCookie(...cookieParam);
}
var url = req.body.url;
const response = await page.goto(url, {waitUntil: 'domcontentloaded'});

});

我的 cookieParam 值:

 [{"url":"www.example.com","name":"ak_bmsc","value":"974691EC727E93228E9A2C3722B10D39172F956DE92C0000080D0F5E684D7863;"}]

我收到以下错误,

This is Error: Protocol error (Network.setCookies): Target closed.

需要帮助来解决此问题。提前致谢。

标签: node.jspuppeteergoogle-chrome-headlessheadless-browser

解决方案


您的问题是您的 cookie 没有page目标,您需要先实例化页面:

const page = await browser.newPage();

推荐阅读