Puppeteer 启动隐身

新手上路,请多包涵

我使用 ws 端点( puppeteer.connect({ browserWSEndpoint: '' }) )连接到浏览器。

当我启动我最终连接到的浏览器时,有没有办法以隐身方式启动它?

我知道我可以做这样的事情:

 const incognito = await this.browser.createIncognitoBrowserContext();

但似乎隐身会话与最初打开的浏览器相关联。我只希望它独立存在。

我也看到你可以这样做:

 const baseOptions: LaunchOptions = { args: ['--incognito']};

但我不确定这是否是最好的方法。

任何意见,将不胜感激。谢谢!

原文由 rpascal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

实现目标的最佳方法是通过将 --incognito 标志传递给 puppeteer.launch()浏览器 直接启动到隐身模式:

 const browser = await puppeteer.launch({
  args: [
    '--incognito',
  ],
});

或者,您可以在启动浏览器后使用 browser.createIncognitoBrowserContext() 创建一个新的隐身 浏览器上下文

 const browser = await puppeteer.launch();
const context = await browser.createIncognitoBrowserContext();

您可以使用 browserContext.isIncognito() 检查浏览器上下文是否隐身:

 if (context.isIncognito()) { /* ... */ }

原文由 Grant Miller 发布,翻译遵循 CC BY-SA 4.0 许可协议

上面的解决方案对我不起作用:

创建了一个隐身窗口,但是当创建新页面时,它不再隐身。

对我有用的解决方案是:

 const browser = await puppeteer.launch();
const context = await browser.createIncognitoBrowserContext();
const page = await context.newPage();

然后你可以使用页面,它是一个隐身页面

原文由 MrE 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题