Puppeteer 中文文档v25.8.0

BrowserContext 类

BrowserContext 表示浏览器中的各个用户上下文。

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

BrowserContext发出各种事件,这些事件在 BrowserContextEvent 枚举中有详细说明。

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

签名

export declare abstract class BrowserContext extends EventEmitter<BrowserContextEvents>

继承自: EventEmitter<BrowserContextEvents>

备注

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

此类的构造函数被标记为内部方法。第三方代码不应直接调用构造函数,也不应创建继承 BrowserContext 类的子类。

示例

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

// 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();

属性

属性

修饰符

类型

说明

closed

只读

boolean

浏览器上下文是否已关闭。

id

只读

string | undefined

浏览器上下文的标识符。

方法

方法

修饰符

说明

[asyncDisposeSymbol]()

[disposeSymbol]()

browser()

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

clearPermissionOverrides()

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

close()

关闭此浏览器上下文及所有关联的页面

备注:

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

cookies()

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

deleteCookie(cookies)

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

deleteMatchingCookies(filters)

删除此浏览器上下文中与所提供筛选条件匹配的 Cookie。

newPage(options)

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

overridePermissions(origin, permissions)

已废弃

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

已废弃:

请改用 BrowserContext.setPermission()

pages(includeAll)

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

备注:

不可见的页面(例如 "background_page")不会列在此处。你可以使用 Target.page() 找到它们。

setCookie(cookies)

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

setPermission(origin, permissions)

为特定源设置权限。

targets()

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

waitForTarget(predicate, options)

等待与给定 predicate 匹配的目标出现并返回它。

这将查找所有打开的浏览器上下文