Skip to main content
Version: 23.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 at least one default browser context. 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

在 Chrome 中,所有非默认上下文都是隐身的,如果在启动浏览器时提供 --incognito 参数,默认浏览器上下文 可能会隐身。

¥In Chrome all non-default contexts are incognito, and default browser context might be incognito if you provide the --incognito argument when launching the browser.

此类的构造函数被标记为内部构造函数。第三方代码不应直接调用构造函数或创建扩展 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

评论:

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

newPage()

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

overridePermissions(origin, permissions)

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

pages()

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

评论:

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

targets()

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

waitForTarget(predicate, options)

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

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