node.js - Node 库 Puppeteer 中的 BrowserContext 是什么?

标签 node.js browser chromium puppeteer

我正在阅读 documentation of Puppeteer 。它指出以下内容:

BrowserContexts provide a way to operate multiple independent browser sessions. When a browser is launched, it has a single BrowserContext used by default. The method browser.newPage() creates a page in the default browser context.

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

最佳答案

据我了解:

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

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

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

关于node.js - Node 库 Puppeteer 中的 BrowserContext 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50804198/

相关文章:

javascript - 自动填充输入字段的最佳方法是什么?

javascript - Chromium 78 嵌套 iframe 中的指针事件失误

linux - 使用 Raspbian JESSIE 启动 Pi3 时自动启动 "Chromium"

node.js - Angular 2 所需的库

browser - WebUSB API 和 PC/SC 智能卡读卡器

css - IE 条件 CSS

google-chrome - Puppeteer 无法使用 Chrome 在 headless 模式下工作

javascript - Node/方法重写在 PUT 上给出错误

node.js - 使用 Node.js 获取 XBee 的 MAC 地址

node.js - 如何在nodejs中捕获twilio事件?