Skip to main content
Version: 22.9.0

BrowserContext 类

¥BrowserContext class

BrowserContext 代表 browser 中的各个用户上下文。

¥BrowserContext represents individual user contexts within a browser.

browser 启动时,默认有一个 浏览器上下文。其他可以使用 Browser.createBrowserContext() 创建。每个上下文都有独立的存储(cookies/localStorage/等)

¥When a browser is launched, it has a single browser context by default. Others can be created using Browser.createBrowserContext(). Each context has isolated storage (cookies/localStorage/etc.)

BrowserContext emits 各种事件记录在 BrowserContextEvent 枚举中。

¥BrowserContext emits various events which are documented in the BrowserContextEvent enum.

如果 page 打开另一个 page,例如 使用 window.open,弹出窗口将属于父 页面的浏览器上下文

¥If a page opens another page, e.g. using window.open, the popup will belong to the parent page's browser context.

签名:

¥Signature:

export declare abstract class BrowserContext extends EventEmitter<BrowserContextEvents>

Extends: EventEmitter<BrowserContextEvents>

备注

¥Remarks

此类的构造函数被标记为内部构造函数。第三方代码不应直接调用构造函数或创建扩展 BrowserContext 类的子类。

¥The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the BrowserContext class.

示例

¥Example

创建一个新的 浏览器上下文

¥Creating a new browser context:

// Create a new browser context
const context = await browser.createBrowserContext();
// Create a new page inside context.
const page = await context.newPage();
// ... do stuff with page ...
await page.goto('https://example.com');
// Dispose context once it's no longer needed.
await context.close();

属性

¥Properties

属性

修饰符

类型

描述

closed

readonly

boolean

这个 浏览器上下文 是否关闭。

id

readonly

字符串| 不明确的

浏览器上下文 的标识符。

方法

¥Methods

方法

修饰符

描述

browser()

获取与此 浏览器上下文 关联的 browser

clearPermissionOverrides()

清除此 浏览器上下文 的所有权限覆盖。

close()

关闭此 浏览器上下文 和所有关联的 pages

评论:

默认浏览器上下文 无法关闭。

isIncognito()

deprecated

这个 浏览器上下文 是否隐姓埋名。

在 Chrome 中,默认浏览器上下文 是唯一的非隐身浏览器上下文。

已弃用:

在 Chrome 中,如果通过参数配置,默认浏览器上下文 也可以是 "incognito",在这种情况下,此 getter 返回错误结果(请参阅 https://github.com/puppeteer/puppeteer/issues/8836)。此外,术语 "incognito" 不适用于其他浏览器。要迁移,请检查 默认浏览器上下文:在 Chrome 中,所有非默认上下文都是隐身的,如果你在启动浏览器时提供 --incognito 参数,则默认上下文可能会隐身。

newPage()

在此 浏览器上下文 中创建一个新的 page

overridePermissions(origin, permissions)

在给定的 origin 内授予此 浏览器上下文 给定的 permissions

pages()

获取此 浏览器上下文 内所有打开的 pages 的列表。

评论:

不可见的 pages,例如 "background_page",这里不会列出。你可以使用 Target.page() 找到它们。

targets()

获取此 浏览器上下文 内所有活动的 targets

waitForTarget(predicate, options)

等待直到出现与给定 predicate 匹配的 target 并返回它。

这看起来会是全部打开的 浏览器上下文