Interface IBrowserContext
- Namespace
- PuppeteerSharp
- Assembly
- PuppeteerSharp.dll
BrowserContexts provide a way to operate multiple independent browser sessions. When a browser is launched, it has a single IBrowserContext used by default. The method NewPageAsync(CreatePageOptions) creates a IPage in the default IBrowserContext.
public interface IBrowserContext : IDisposable, IAsyncDisposable
Properties
Browser
Gets the browser this browser context belongs to.
IBrowser Browser { get; }
Property Value
Id
Browser Context Id.
string Id { get; }
Property Value
IsClosed
Whether this IBrowserContext is closed.
bool IsClosed { get; }
Property Value
Methods
ClearPermissionOverridesAsync()
Clears all permission overrides for the browser context.
Task ClearPermissionOverridesAsync()
Returns
- Task
The task.
CloseAsync()
Closes the browser context. All the targets that belong to the browser context will be closed.
Task CloseAsync()
Returns
- Task
Task.
DeleteCookieAsync(params CookieParam[])
Removes cookies from the browser context.
Task DeleteCookieAsync(params CookieParam[] cookies)
Parameters
cookiesCookieParam[]Complete CookieParam objects to be removed.
Returns
- Task
Task.
DeleteMatchingCookiesAsync(params DeleteCookiesRequest[])
Deletes cookies matching the provided filters in this browser context.
Task DeleteMatchingCookiesAsync(params DeleteCookiesRequest[] filters)
Parameters
filtersDeleteCookiesRequest[]Filters to match cookies against.
Returns
- Task
Task.
GetCookiesAsync()
Gets all cookies in the browser context.
Task<CookieParam[]> GetCookiesAsync()
Returns
- Task<CookieParam[]>
Task which resolves to an array of CookieParam.
NewPageAsync(CreatePageOptions)
Creates a new page.
Task<IPage> NewPageAsync(CreatePageOptions options = null)
Parameters
optionsCreatePageOptionsOptions for creating the page.
Returns
OverridePermissionsAsync(string, IEnumerable<OverridePermission>)
Overrides the browser context permissions.
Task OverridePermissionsAsync(string origin, IEnumerable<OverridePermission> permissions)
Parameters
originstringThe origin to grant permissions to, e.g. "https://example.com".
permissionsIEnumerable<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.
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().
SetCookieAsync(params CookieData[])
Sets cookies in the browser context.
Task SetCookieAsync(params CookieData[] cookies)
Parameters
cookiesCookieData[]Cookies to set.
Returns
- Task
Task.
SetPermissionAsync(string, params PermissionEntry[])
Sets the permission for a specific origin.
Task SetPermissionAsync(string origin, params PermissionEntry[] permissions)
Parameters
originstringThe origin to set the permission for, e.g. "https://example.com". Use "*" for all origins (CDP only).
permissionsPermissionEntry[]The permissions to set.
Returns
- Task
The task.
Targets()
Gets an array of all active targets inside the browser context.
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/");
Task<ITarget> WaitForTargetAsync(Func<ITarget, bool> predicate, WaitForOptions options = null)
Parameters
predicateFunc<ITarget, bool>A function to be run for every target.
optionsWaitForOptionsoptions.
Returns
Events
TargetChanged
Raised when the url of a target changes
event EventHandler<TargetChangedArgs> TargetChanged
Event Type
TargetCreated
Raised when a target is created, for example when a new page is opened by window.open https://developer.mozilla.org/en-US/docs/Web/API/Window/open or NewPageAsync(CreatePageOptions).
event EventHandler<TargetChangedArgs> TargetCreated
Event Type
TargetDestroyed
Raised when a target is destroyed, for example when a page is closed
event EventHandler<TargetChangedArgs> TargetDestroyed