Skip to main content
Version: 3.11

PuppeteerLaunchContext

Apify extends the launch options of Puppeteer. You can use any of the Puppeteer 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 Puppeteer 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?: PuppeteerLaunchOptions

puppeteer.launch options

optionallauncher

launcher?: unknown

Already required module (Object). This enables usage of various Puppeteer wrappers such as puppeteer-extra.

Take caution, because it can cause all kinds of unexpected errors and weird behavior. Crawlee is not tested with any other library besides puppeteer itself.

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 = false

If true and executablePath is not set, Puppeteer 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 = 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.