首页 > 解决方案 > Node 库 Puppeteer 中的 BrowserContext 是什么?

问题描述

我正在阅读Puppeteer 的文档。它声明如下:

BrowserContexts 提供了一种操作多个独立浏览器会话的方法。启动浏览器时,默认使用一个 BrowserContext。方法 browser.newPage() 在默认浏览器上下文中创建一个页面。

有趣的是它使用了术语“会话”。我对会话的解释是我们存储服务器端的数据以存储不适合存储客户端的信息。客户端使用 Cookie 来跨请求保留信息。但是,会话在服务器语言中用于持久保存不适合存储在 cookie 中的数据。然而,Puppeteer 是一个通过 Chromium 抓取网页的客户端框架。那么文档中的浏览器会话和浏览器上下文是什么意思呢?

标签: node.jsbrowserchromiumpuppeteer

解决方案


据我了解:

BrowserContext是一个常用的浏览器实例。目前可以有两个 BrowserContexts:一个是默认的,它是在启动时创建的,另一个是 Incognito。

浏览器会话不是一个严格的技术术语,它是在给定浏览器中执行的工作会话的定义。它包含工作浏览器中可能存在的所有数据和元数据:打开的选项卡和页面、累积的 cookie、历史记录、窗口位置、大小等。

如果puppeteer会话从浏览器启动持续到浏览器关闭。关于会话的重要一点是默认会话和隐身会话是分开的(就像在真正的 Chrome/ium 中一样)并且不能访问彼此的数据,例如 cookie。而一个浏览器会话(BrowserContext)中的不同选项卡可以做到这一点。


推荐阅读