Table of Contents

Class BrowserContext

Namespace
PuppeteerSharp
Assembly
PuppeteerSharp.dll

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

public abstract class BrowserContext : IBrowserContext
Inheritance
BrowserContext
Implements
Derived

Properties

Browser

public Browser Browser { get; protected init; }

Property Value

Browser

Id

Browser Context Id.

public string Id { get; protected init; }

Property Value

string

IsClosed

Whether this IBrowserContext is closed.

public bool IsClosed { get; }

Property Value

bool

IsIncognito

Returns whether BrowserContext is incognito The default browser context is the only non-incognito browser context.

public bool IsIncognito { get; }

Property Value

bool

Remarks

The default browser context cannot be closed.

Methods

ClearPermissionOverridesAsync()

Clears all permission overrides for the browser context.

public abstract Task ClearPermissionOverridesAsync()

Returns

Task

The task.

CloseAsync()

Closes the browser context. All the targets that belong to the browser context will be closed.

public abstract Task CloseAsync()

Returns

Task

Task.

NewPageAsync()

Creates a new page.

public abstract Task<IPage> NewPageAsync()

Returns

Task<IPage>

Task which resolves to a new IPage object.

OverridePermissionsAsync(string, IEnumerable<OverridePermission>)

Overrides the browser context permissions.

public abstract Task OverridePermissionsAsync(string origin, IEnumerable<OverridePermission> permissions)

Parameters

origin string

The origin to grant permissions to, e.g. "https://example.com".

permissions IEnumerable<OverridePermission>

An array of permissions to grant. All permissions that are not listed here will be automatically denied.

Returns

Task

The task.

Examples

var context = browser.DefaultBrowserContext; await context.OverridePermissionsAsync("https://html5demos.com", new List<string> {"geolocation"});

See Also

PagesAsync()

An array of all pages inside the browser context.

public abstract Task<IPage[]> PagesAsync()

Returns

Task<IPage[]>

Task which resolves to an array of all open pages. Non visible pages, such as "background_page", will not be listed here. You can find them using PageAsync().

Targets()

Gets an array of all active targets inside the browser context.

public abstract ITarget[] Targets()

Returns

ITarget[]

An array of all active targets inside the browser context.

WaitForTargetAsync(Func<ITarget, bool>, WaitForOptions)

This searches for a target in this specific browser context.

await page.EvaluateAsync("() => window.open('https://www.example.com/')");
var newWindowTarget = await browserContext.WaitForTargetAsync((target) => target.Url == "https://www.example.com/");

public Task<ITarget> WaitForTargetAsync(Func<ITarget, bool> predicate, WaitForOptions options = null)

Parameters

predicate Func<ITarget, bool>

A function to be run for every target.

options WaitForOptions

options.

Returns

Task<ITarget>

Resolves to the first target found that matches the predicate function.

Events

TargetChanged

Raised when the url of a target changes

public event EventHandler<TargetChangedArgs> TargetChanged

Event Type

EventHandler<TargetChangedArgs>

TargetCreated

Raised when a target is created, for example when a new page is opened by window.openhttps://developer.mozilla.org/en-US/docs/Web/API/Window/open or NewPageAsync().

public event EventHandler<TargetChangedArgs> TargetCreated

Event Type

EventHandler<TargetChangedArgs>

TargetDestroyed

Raised when a target is destroyed, for example when a page is closed

public event EventHandler<TargetChangedArgs> TargetDestroyed

Event Type

EventHandler<TargetChangedArgs>