Back to Puppeteer

BrowserContext class

docs/api/puppeteer.browsercontext.md

19.2.25.8 KB
Original Source

BrowserContext class

BrowserContext represents individual user contexts within a browser.

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 various events which are documented in the BrowserContextEvent enum.

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

Signature

typescript
export declare abstract class BrowserContext extends EventEmitter<BrowserContextEvents>

Extends: EventEmitter<BrowserContextEvents>

Remarks

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.

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:

ts
// 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

<table><thead><tr><th>

Property

</th><th>

Modifiers

</th><th>

Type

</th><th>

Description

</th></tr></thead> <tbody><tr><td>

<span id="closed">closed</span>

</td><td>

readonly

</td><td>

boolean

</td><td>

Whether this browser context is closed.

</td></tr> <tr><td>

<span id="id">id</span>

</td><td>

readonly

</td><td>

string | undefined

</td><td>

Identifier for this browser context.

</td></tr> </tbody></table>

Methods

<table><thead><tr><th>

Method

</th><th>

Modifiers

</th><th>

Description

</th></tr></thead> <tbody><tr><td>

<span id="browser">browser()</span>

</td><td> </td><td>

Gets the browser associated with this browser context.

</td></tr> <tr><td>

<span id="clearpermissionoverrides">clearPermissionOverrides()</span>

</td><td> </td><td>

Clears all permission overrides for this browser context.

</td></tr> <tr><td>

<span id="close">close()</span>

</td><td> </td><td>

Closes this browser context and all associated pages.

Remarks:

The default browser context cannot be closed.

</td></tr> <tr><td>

<span id="cookies">cookies()</span>

</td><td> </td><td>

Gets all cookies in the browser context.

</td></tr> <tr><td>

<span id="deletecookie">deleteCookie(cookies)</span>

</td><td> </td><td>

Removes cookie in this browser context.

</td></tr> <tr><td>

<span id="deletematchingcookies">deleteMatchingCookies(filters)</span>

</td><td> </td><td>

Deletes cookies matching the provided filters in this browser context.

</td></tr> <tr><td>

<span id="newpage">newPage(options)</span>

</td><td> </td><td>

Creates a new page in this browser context.

</td></tr> <tr><td>

<span id="overridepermissions">overridePermissions(origin, permissions)</span>

</td><td>

deprecated

</td><td>

Grants this browser context the given permissions within the given origin.

Deprecated:

in favor of BrowserContext.setPermission().

</td></tr> <tr><td>

<span id="pages">pages(includeAll)</span>

</td><td> </td><td>

Gets a list of all open pages inside this browser context.

Remarks:

Non-visible pages, such as "background_page", will not be listed here. You can find them using Target.page().

</td></tr> <tr><td>

<span id="setcookie">setCookie(cookies)</span>

</td><td> </td><td>

Sets a cookie in the browser context.

</td></tr> <tr><td>

<span id="setpermission">setPermission(origin, permissions)</span>

</td><td> </td><td>

Sets the permission for a specific origin.

</td></tr> <tr><td>

<span id="targets">targets()</span>

</td><td> </td><td>

Gets all active targets inside this browser context.

</td></tr> <tr><td>

<span id="waitfortarget">waitForTarget(predicate, options)</span>

</td><td> </td><td>

Waits until a target matching the given predicate appears and returns it.

This will look all open browser contexts.

</td></tr> </tbody></table>