ddp_utils.browser.backends.playwright.models

import ddp_utils.browser.backends.playwright.models

Strict launch models for Playwright and Camoufox providers.

class ddp_utils.browser.backends.playwright.models.PlaywrightLaunchOptions(arguments: tuple[str, ...]=(), launch_options: dict[str, ~typing.Any]=<factory>, context_options: dict[str, ~typing.Any]=<factory>, camoufox_options: dict[str, ~typing.Any]=<factory>, executable_path: Path | None = None, proxy: str | ~typing.Mapping[str, ~typing.Any] | None=None, locale: str | None = None, user_agent: str | None = None, timezone_id: str | None = None, geolocation: Mapping[str, ~typing.Any] | None=None, ignore_https_errors: bool = False, java_script_enabled: bool = True, accept_downloads: bool = True, no_viewport: bool | None = None, viewport: Mapping[str, int] | None=None, initial_url: str | None = None, maximize: bool = True, attach_protocol: str | None = None, camoufox_cache_policy: str = 'ensure')

Bases: object

Validated provider-specific options for one Playwright-family launch.

Parameters

Name

Type

Description

arguments

tuple[str, ...]

Native browser command-line arguments.

launch_options

dict[str, Any]

Additional Playwright browser launch keyword arguments.

context_options

dict[str, Any]

Additional browser-context keyword arguments.

camoufox_options

dict[str, Any]

Additional Camoufox constructor keyword arguments.

executable_path

Path | None

Explicit browser executable override.

proxy

str | Mapping[str, Any] | None

Playwright proxy mapping or a proxy server URL.

locale

str | None

Browser-context locale.

user_agent

str | None

Browser-context User-Agent override.

timezone_id

str | None

Browser-context timezone identifier.

geolocation

Mapping[str, Any] | None

Playwright geolocation mapping.

ignore_https_errors

bool

Accept invalid TLS certificates.

java_script_enabled

bool

Enable page JavaScript.

accept_downloads

bool

Enable Playwright download events and persistence.

no_viewport

bool | None

Disable the synthetic viewport for a native-sized window.

viewport

Mapping[str, int] | None

Explicit viewport mapping.

initial_url

str | None

Optional first navigation after complete preparation.

maximize

bool

Request the largest coherent visible browser window.

attach_protocol

str | None

cdp or native Playwright connect protocol.

camoufox_cache_policy

str

verify, ensure, or refresh.

Examples

Parse strict project options:

options = PlaywrightLaunchOptions.from_mapping(
    {"locale": "en-US", "maximize": True}
)
classmethod from_mapping(values: Mapping[str, Any] | None) → PlaywrightLaunchOptions

Build strict options without silently discarding misspelled keys.

Parameters

Name

Type

Description

values

Mapping[str, Any] | None

Backend option mapping from BrowserConfig.options.

Returns

Type

Description

PlaywrightLaunchOptions

Normalized immutable launch options.

Raises

Exception

Description

BrowserConfigurationError

A key or value is unsupported.

Examples

Preserve backend-native launch keywords explicitly:

options = PlaywrightLaunchOptions.from_mapping(
    {"launch_options": {"slow_mo": 50}}
)
class ddp_utils.browser.backends.playwright.models.PlaywrightNativeObjects(page: Any, context: Any, browser: Any | None, runtime: Any | None, manager: Any, owns_context: bool, owns_browser: bool, provider: str)

Bases: object

Expose exact Playwright-family native objects and ownership flags.

Parameters

Name

Type

Description

page

Any

Active native Playwright page.

context

Any

Native Playwright browser context.

browser

Any | None

Native Playwright browser when one exists.

runtime

Any | None

Playwright runtime returned by sync_playwright().start().

manager

Any

Playwright or Camoufox lifecycle manager.

owns_context

bool

Whether session close must close the context.

owns_browser

bool

Whether session close must close the browser.

provider

str

Concrete playwright or camoufox provider.

Examples

Use the native page deliberately:

session.native.page.goto("https://example.com")