PlaywrightPlugin
Hierarchy
- BrowserPlugin<BrowserType, SafeParameters<BrowserType[launch]>[0], PlaywrightBrowser>
- PlaywrightPlugin
Index
Constructors
constructor
Parameters
library: BrowserType<{}>
options: BrowserPluginOptions<undefined | LaunchOptions> = {}
Returns PlaywrightPlugin
Properties
optionalreadonlyinheritedbrowserPerProxy
optionalreadonlyinheritedignoreProxyCertificate
readonlyinheritedlaunchOptions
readonlyinheritedlibrary
readonlyinheritedname
optionalreadonlyinheritedproxyUrl
inheriteduseIncognitoPages
optionalreadonlyinheriteduserDataDir
Methods
createController
Returns PlaywrightController
inheritedcreateLaunchContext
Creates a
LaunchContextwith all the information needed to launch a browser. Aside from library specific launch options, it also includes internal properties used byBrowserPoolfor management of the pool and extra features.Parameters
options: CreateLaunchContextOptions<BrowserType<{}>, undefined | LaunchOptions, Browser, undefined | { acceptDownloads?: boolean; baseURL?: string; bypassCSP?: boolean; clientCertificates?: { cert?: Buffer<ArrayBufferLike>; certPath?: string; key?: Buffer<ArrayBufferLike>; keyPath?: string; origin: string; passphrase?: string; pfx?: Buffer<ArrayBufferLike>; pfxPath?: string }[]; colorScheme?: null | light | dark | no-preference; contrast?: null | no-preference | more; deviceScaleFactor?: number; extraHTTPHeaders?: {}; forcedColors?: null | active | none; geolocation?: { accuracy?: number; latitude: number; longitude: number }; hasTouch?: boolean; httpCredentials?: { origin?: string; password: string; send?: unauthorized | always; username: string }; ignoreHTTPSErrors?: boolean; isMobile?: boolean; javaScriptEnabled?: boolean; locale?: string; logger?: Logger; offline?: boolean; permissions?: string[]; proxy?: { bypass?: string; password?: string; server: string; username?: string }; recordHar?: { content?: omit | embed | attach; mode?: full | minimal; omitContent?: boolean; path: string; urlFilter?: string | RegExp }; recordVideo?: { dir?: string; showActions?: { duration?: number; fontSize?: number; position?: top-left | top | top-right | bottom-left | bottom | bottom-right }; size?: { height: number; width: number } }; reducedMotion?: null | reduce | no-preference; screen?: { height: number; width: number }; serviceWorkers?: allow | block; storageState?: string | { cookies: { domain: string; expires: number; httpOnly: boolean; name: string; path: string; sameSite: Strict | Lax | None; secure: boolean; value: string }[]; origins: { localStorage: { name: string; value: string }[]; origin: string }[] }; strictSelectors?: boolean; timezoneId?: string; userAgent?: string; viewport?: null | { height: number; width: number } }, Page> = {}
Returns LaunchContext<BrowserType<{}>, undefined | LaunchOptions, Browser, undefined | { acceptDownloads?: boolean; baseURL?: string; bypassCSP?: boolean; clientCertificates?: { cert?: Buffer<ArrayBufferLike>; certPath?: string; key?: Buffer<ArrayBufferLike>; keyPath?: string; origin: string; passphrase?: string; pfx?: Buffer<ArrayBufferLike>; pfxPath?: string }[]; colorScheme?: null | light | dark | no-preference; contrast?: null | no-preference | more; deviceScaleFactor?: number; extraHTTPHeaders?: {}; forcedColors?: null | active | none; geolocation?: { accuracy?: number; latitude: number; longitude: number }; hasTouch?: boolean; httpCredentials?: { origin?: string; password: string; send?: unauthorized | always; username: string }; ignoreHTTPSErrors?: boolean; isMobile?: boolean; javaScriptEnabled?: boolean; locale?: string; logger?: Logger; offline?: boolean; permissions?: string[]; proxy?: { bypass?: string; password?: string; server: string; username?: string }; recordHar?: { content?: omit | embed | attach; mode?: full | minimal; omitContent?: boolean; path: string; urlFilter?: string | RegExp }; recordVideo?: { dir?: string; showActions?: { duration?: number; fontSize?: number; position?: top-left | top | top-right | bottom-left | bottom | bottom-right }; size?: { height: number; width: number } }; reducedMotion?: null | reduce | no-preference; screen?: { height: number; width: number }; serviceWorkers?: allow | block; storageState?: string | { cookies: { domain: string; expires: number; httpOnly: boolean; name: string; path: string; sameSite: Strict | Lax | None; secure: boolean; value: string }[]; origins: { localStorage: { name: string; value: string }[]; origin: string }[] }; strictSelectors?: boolean; timezoneId?: string; userAgent?: string; viewport?: null | { height: number; width: number } }, Page>
inheritedlaunch
Launches the browser using provided launch context.
Parameters
launchContext: LaunchContext<BrowserType<{}>, undefined | LaunchOptions, Browser, undefined | { acceptDownloads?: boolean; baseURL?: string; bypassCSP?: boolean; clientCertificates?: { cert?: Buffer<ArrayBufferLike>; certPath?: string; key?: Buffer<ArrayBufferLike>; keyPath?: string; origin: string; passphrase?: string; pfx?: Buffer<ArrayBufferLike>; pfxPath?: string }[]; colorScheme?: null | light | dark | no-preference; contrast?: null | no-preference | more; deviceScaleFactor?: number; extraHTTPHeaders?: {}; forcedColors?: null | active | none; geolocation?: { accuracy?: number; latitude: number; longitude: number }; hasTouch?: boolean; httpCredentials?: { origin?: string; password: string; send?: unauthorized | always; username: string }; ignoreHTTPSErrors?: boolean; isMobile?: boolean; javaScriptEnabled?: boolean; locale?: string; logger?: Logger; offline?: boolean; permissions?: string[]; proxy?: { bypass?: string; password?: string; server: string; username?: string }; recordHar?: { content?: omit | embed | attach; mode?: full | minimal; omitContent?: boolean; path: string; urlFilter?: string | RegExp }; recordVideo?: { dir?: string; showActions?: { duration?: number; fontSize?: number; position?: top-left | top | top-right | bottom-left | bottom | bottom-right }; size?: { height: number; width: number } }; reducedMotion?: null | reduce | no-preference; screen?: { height: number; width: number }; serviceWorkers?: allow | block; storageState?: string | { cookies: { domain: string; expires: number; httpOnly: boolean; name: string; path: string; sameSite: Strict | Lax | None; secure: boolean; value: string }[]; origins: { localStorage: { name: string; value: string }[]; origin: string }[] }; strictSelectors?: boolean; timezoneId?: string; userAgent?: string; viewport?: null | { height: number; width: number } }, Page> = ...
Returns Promise<Browser>
useRemoteConnection
Playwright remote connections only support incognito pages —
connect()/connectOverCDP()don't accept persistent contexts. Force it on (and inform the user) when wired for a remote connection.Parameters
connection: RemoteConnection
parameters: RemoteConnectionParameters = {}
Returns void
The
BrowserPluginserves two purposes. First, it is the base class that specialized controllers likePuppeteerPluginorPlaywrightPluginextend. Second, it allows the user to configure the automation libraries and feed them to BrowserPool for use.