Table of Contents

Class CdpBrowser

Namespace
PuppeteerSharp.Cdp
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 class CdpBrowser : Browser, IBrowser, IDisposable, IAsyncDisposable
Inheritance
CdpBrowser
Implements

Properties

DebugInfo

Get debug information from Puppeteer.

public override DebugInfo DebugInfo { get; }

Property Value

DebugInfo

Remarks

Currently, includes pending protocol calls. In the future, more info might be added.

IsClosed

Gets a value indicating if the browser is closed.

public override bool IsClosed { get; }

Property Value

bool

Methods

AddScreenAsync(AddScreenParams)

Adds a new screen with specified parameters and returns a ScreenInfo object, including the new screen's ID.

public override Task<ScreenInfo> AddScreenAsync(AddScreenParams @params)

Parameters

params AddScreenParams

The parameters for the new screen.

Returns

Task<ScreenInfo>

A task that resolves to the added screen information.

Remarks

Only supported in headless mode.

BrowserContexts()

Returns an array of all open IBrowserContext. In a newly created browser, this will return a single instance of IBrowserContext.

public override IBrowserContext[] BrowserContexts()

Returns

IBrowserContext[]

An array of IBrowserContext objects.

CloseAsync()

Closes Chromium and all of its pages (if any were opened). The browser object itself is considered disposed and cannot be used anymore.

public override Task CloseAsync()

Returns

Task

Task.

CreateBrowserContextAsync(BrowserContextOptions)

Creates a new browser context. This won't share cookies/cache with other browser contexts.

public override Task<IBrowserContext> CreateBrowserContextAsync(BrowserContextOptions options = null)

Parameters

options BrowserContextOptions

Options.

Returns

Task<IBrowserContext>

Task which resolves to a new IBrowserContext object.

Examples

using(var browser = await Puppeteer.LaunchAsync(new LaunchOptions()))
{
    // Create a new browser context.
    var context = await browser.CreateBrowserContextAsync();
    // Create a new page in a pristine context.
    var page = await context.NewPageAsync();
    // Do stuff
    await page.GoToAsync("https://example.com");
}

Disconnect()

Disconnects Puppeteer from the browser, but leaves the process running. After calling Disconnect(), the browser object is considered disposed and cannot be used anymore.

public override void Disconnect()

GetUserAgentAsync()

Gets the browser's original user agent.

public override Task<string> GetUserAgentAsync()

Returns

Task<string>

Task which resolves to the browser's original user agent.

Remarks

Pages can override browser user agent with SetUserAgentAsync(string, UserAgentMetadata).

GetVersionAsync()

Gets the browser's version.

public override Task<string> GetVersionAsync()

Returns

Task<string>

For headless Chromium, this is similar to HeadlessChrome/61.0.3153.0. For non-headless, this is similar to Chrome/61.0.3153.0.

Remarks

the format of GetVersionAsync() might change with future releases of Chromium.

GetWindowBoundsAsync(string)

Gets the specified window bounds.

public override Task<WindowBounds> GetWindowBoundsAsync(string windowId)

Parameters

windowId string

The window ID.

Returns

Task<WindowBounds>

A task that resolves to the WindowBounds.

InstallExtensionAsync(string)

Installs an unpacked extension and returns the extension ID. In Chrome, this is only available if the browser was created using pipe mode and the --enable-unsafe-extension-debugging flag is set.

public override Task<string> InstallExtensionAsync(string path)

Parameters

path string

The path to the unpacked extension directory.

Returns

Task<string>

A task that resolves to the extension ID.

NewPageAsync(CreatePageOptions)

Creates a new page.

public override Task<IPage> NewPageAsync(CreatePageOptions options = null)

Parameters

options CreatePageOptions

Options for creating the page.

Returns

Task<IPage>

Task which resolves to a new IPage object.

RemoveScreenAsync(string)

Removes the screen associated with the given screen ID, unless it is the primary screen.

public override Task RemoveScreenAsync(string screenId)

Parameters

screenId string

The ID of the screen to remove.

Returns

Task

A task that completes when the screen is removed.

Remarks

Only supported in headless mode. Fails if the primary screen ID is specified.

ScreensAsync()

Gets a list of ScreenInfo objects.

public override Task<ScreenInfo[]> ScreensAsync()

Returns

Task<ScreenInfo[]>

A task that resolves to an array of screen information objects.

SetWindowBoundsAsync(string, WindowBounds)

Sets the specified window bounds.

public override Task SetWindowBoundsAsync(string windowId, WindowBounds windowBounds)

Parameters

windowId string

The window ID.

windowBounds WindowBounds

The bounds to set.

Returns

Task

A task that resolves when the bounds have been set.

Targets()

Returns An Array of all active targets.

public override ITarget[] Targets()

Returns

ITarget[]

An Array of all active targets.

UninstallExtensionAsync(string)

Uninstalls a previously installed extension by its ID. In Chrome, this is only available if the browser was created using pipe mode and the --enable-unsafe-extension-debugging flag is set.

public override Task UninstallExtensionAsync(string id)

Parameters

id string

The extension ID to uninstall.

Returns

Task

A task that completes when the extension is uninstalled.