node.js - 这是错误:协议错误(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.
需要帮助来解决此问题。提前致谢。
解决方案
您的问题是您的 cookie 没有page
目标,您需要先实例化页面:
const page = await browser.newPage();
推荐阅读
- r - 如何将多个变量放在列内作为r中的一个因素
- terraform - Terraform 遍历列表
- android - OmdB API 未在我的 TextViews 中显示结果
- python - 读取、编辑,然后将文本 (.txt) 文件保存为列表
- sql-server - 使用表变量而不是临时表时存储过程中的性能问题
- c# - 选择具有最大值的实体
- python - 如何在安装 Scipy for Scikit learn 时修复“E: Package 'libatlas-dev' has no installation Candidate”?
- django - 如何在 Django 单元测试中忽略第二个数据库?
- elasticsearch - 弹性搜索 6.4.2 | 图表看不到任何东西
- r - 将 0 添加到字符列