Latest
class Browser
extends EventEmitter
import { Browser } from "https://dotland.deno.dev/x/puppeteer@16.2.0/vendor/puppeteer-core/puppeteer/common/Browser.js";

A Browser is created when Puppeteer connects to a Chromium instance, either through {@link PuppeteerNode.launch} or {@link Puppeteer.connect}.

Examples

An example of using a Browser to create a Page:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

An example of disconnecting from and reconnecting to a Browser:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  // Store the endpoint to be able to reconnect to Chromium
  const browserWSEndpoint = browser.wsEndpoint();
  // Disconnect puppeteer from Chromium
  browser.disconnect();

  // Use the endpoint to reestablish a connection
  const browser2 = await puppeteer.connect({browserWSEndpoint});
  // Close Chromium
  await browser2.close();
})();

Constructors

new
Browser(
product: "chrome" | "firefox" | undefined,
connection: Connection,
contextIds: string[],
ignoreHTTPSErrors: boolean,
defaultViewport?: Viewport | null,
process?: Deno.Process,
closeCallback?: BrowserCloseCallback,
targetFilterCallback?: TargetFilterCallback,
isPageTargetCallback?: IsPageTargetCallback,
)

Properties

readonly
_targets: Map<string, Target>

Methods

_attach(): Promise<void>
_createPageInContext(contextId?: string): Promise<Page>
_detach(): void
_disposeContext(contextId?: string): Promise<void>

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

close(): Promise<void>

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

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

Returns the default browser context. The default browser context cannot be closed.

disconnect(): void

Disconnects Puppeteer from the browser, but leaves the Chromium process running. After calling disconnect, the Browser object is considered disposed and cannot be used anymore.

isConnected(): boolean

Indicates that the browser is connected.

newPage(): Promise<Page>

Promise which resolves to a new Page object. The Page is created in a default browser context.

pages(): Promise<Page[]>

An array of all open pages inside the Browser.

The spawned browser process. Returns null if the browser instance was created with {@link Puppeteer.connect}.

The target associated with the browser.

All active targets inside the Browser. In case of multiple browser contexts, returns an array with all the targets in all browser contexts.

userAgent(): Promise<string>

The browser's original user agent. Pages can override the browser user agent with {@link Page.setUserAgent}.

version(): Promise<string>

A string representing the browser name and version.

waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: WaitForTargetOptions): Promise<Target>

Searches for a target in all browser contexts.

wsEndpoint(): string

The browser websocket endpoint which can be used as an argument to {@link Puppeteer.connect}.

Static Methods

_create(
product: "firefox" | "chrome" | undefined,
connection: Connection,
contextIds: string[],
ignoreHTTPSErrors: boolean,
defaultViewport?: Viewport | null,
process?: Deno.Process,
closeCallback?: BrowserCloseCallback,
targetFilterCallback?: TargetFilterCallback,
isPageTargetCallback?: IsPageTargetCallback,
): Promise<Browser>