【问题标题】:This is Error: Protocol error (Network.setCookies): Target closed这是错误:协议错误(Network.setCookies):目标已关闭
【发布时间】:2021-02-15 10:00:39
【问题描述】:

我正在使用 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.

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

【问题讨论】:

  • 如果你删除了 setCookie,goto 是否有效?
  • 如果我删除 setCookie,我不会收到该错误。
  • 你确定JSON.parse(req.body.cookieParam);的形状与setCookies所期望的一样吗?

标签: node.js puppeteer google-chrome-headless headless-browser


【解决方案1】:

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

const page = await browser.newPage();

【讨论】:

    猜你喜欢
    • 2018-11-10
    • 2019-07-02
    • 2019-01-08
    • 2018-11-11
    • 2021-02-27
    • 1970-01-01
    • 2018-04-27
    • 2021-03-23
    • 1970-01-01
    相关资源
    最近更新 更多