Skip to main content
Version: 3.11

PlaywrightLaunchContext

Apify extends the launch options of Playwright. You can use any of the Playwright compatible LaunchOptions options by providing the launchOptions property.

Example:

// launch a headless Chrome (not Chromium)
const launchContext = {
// Apify helpers
useChrome: true,
proxyUrl: 'http://user:password@some.proxy.com'
// Native Playwright options
launchOptions: {
headless: true,
args: ['--some-flag'],
}
}

Hierarchy

Index

Properties

optionalbrowserPerProxy

browserPerProxy?: boolean

If set to true, the crawler respects the proxy url generated for the given request. This aligns the browser-based crawlers with the HttpCrawler.

Might cause performance issues, as Crawlee might launch too many browser instances.

optionalexperimentalContainers
experimental

experimentalContainers?: boolean

Like useIncognitoPages, but for persistent contexts, so cache is used for faster loading. Works best with Firefox. Unstable on Chromium.

optionallaunchOptions

launchOptions?: LaunchOptions & { acceptDownloads?: boolean; args?: string[]; baseURL?: string; bypassCSP?: boolean; channel?: string; chromiumSandbox?: boolean; colorScheme?: null | light | dark | no-preference; deviceScaleFactor?: number; devtools?: boolean; downloadsPath?: string; env?: {}; executablePath?: string; extraHTTPHeaders?: {}; firefoxUserPrefs?: {}; forcedColors?: null | active | none; geolocation?: { accuracy?: number; latitude: number; longitude: number }; handleSIGHUP?: boolean; handleSIGINT?: boolean; handleSIGTERM?: boolean; hasTouch?: boolean; headless?: boolean; httpCredentials?: { origin?: string; password: string; send?: unauthorized | always; username: string }; ignoreDefaultArgs?: boolean | 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; size?: { height: number; width: number } }; reducedMotion?: null | reduce | no-preference; screen?: { height: number; width: number }; serviceWorkers?: allow | block; slowMo?: number; strictSelectors?: boolean; timeout?: number; timezoneId?: string; tracesDir?: string; userAgent?: string; videoSize?: { height: number; width: number }; videosPath?: string; viewport?: null | { height: number; width: number } }

browserType.launch options or browserType.launchContextOptions options

optionallauncher

launcher?: BrowserType<{}>

By default this function uses require("playwright").chromium. If you want to use a different browser you can pass it by this property as e.g. require("playwright").firefox

optionalproxyUrl

proxyUrl?: string

URL to a HTTP proxy server. It must define the port number, and it may also contain proxy username and password.

Example: http://bob:pass123@proxy.example.com:1234.

optionaluseChrome

useChrome?: boolean = ```ts false ```

If true and executablePath is not set, Playwright will launch full Google Chrome browser available on the machine rather than the bundled Chromium. The path to Chrome executable is taken from the CRAWLEE_CHROME_EXECUTABLE_PATH environment variable if provided, or defaults to the typical Google Chrome executable location specific for the operating system. By default, this option is false.

optionaluseIncognitoPages

useIncognitoPages?: boolean = ```ts false ```

With this option selected, all pages will be opened in a new incognito browser context. This means they will not share cookies nor cache and their resources will not be throttled by one another.

optionaluserAgent

userAgent?: string

The User-Agent HTTP header used by the browser. If not provided, the function sets User-Agent to a reasonable default to reduce the chance of detection of the crawler.

optionaluserDataDir

userDataDir?: string

Sets the User Data Directory path. The user data directory contains profile data such as history, bookmarks, and cookies, as well as other per-installation local state. If not specified, a temporary directory is used instead.