Skip to main content
Version: 24.20.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

评论:

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

cookies()

获取浏览器上下文中的所有 cookies。

deleteCookie(cookies)

在此浏览器上下文中删除 Cookie。

deleteMatchingCookies(filters)

在此浏览器上下文中删除与提供的过滤器匹配的 Cookie。

newPage()

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

overridePermissions(origin, permissions)

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

pages()

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

评论:

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

setCookie(cookies)

在浏览器上下文中设置 cookie。

targets()

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

waitForTarget(predicate, options)

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

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