pub struct BrowserContextOptions {Show 39 fields
pub viewport: Option<Viewport>,
pub no_viewport: Option<bool>,
pub user_agent: Option<String>,
pub locale: Option<String>,
pub timezone_id: Option<String>,
pub geolocation: Option<Geolocation>,
pub permissions: Option<Vec<String>>,
pub proxy: Option<ProxySettings>,
pub color_scheme: Option<String>,
pub has_touch: Option<bool>,
pub is_mobile: Option<bool>,
pub javascript_enabled: Option<bool>,
pub offline: Option<bool>,
pub accept_downloads: Option<bool>,
pub bypass_csp: Option<bool>,
pub ignore_https_errors: Option<bool>,
pub device_scale_factor: Option<f64>,
pub extra_http_headers: Option<HashMap<String, String>>,
pub base_url: Option<String>,
pub storage_state: Option<StorageState>,
pub storage_state_path: Option<String>,
pub args: Option<Vec<String>>,
pub channel: Option<String>,
pub chromium_sandbox: Option<bool>,
pub devtools: Option<bool>,
pub downloads_path: Option<String>,
pub executable_path: Option<String>,
pub firefox_user_prefs: Option<HashMap<String, Value>>,
pub headless: Option<bool>,
pub ignore_default_args: Option<IgnoreDefaultArgs>,
pub slow_mo: Option<f64>,
pub timeout: Option<f64>,
pub traces_dir: Option<String>,
pub strict_selectors: Option<bool>,
pub reduced_motion: Option<String>,
pub forced_colors: Option<String>,
pub service_workers: Option<String>,
pub record_har: Option<RecordHar>,
pub record_video: Option<RecordVideo>,
}Expand description
Options for creating a new browser context.
Allows customizing viewport, user agent, locale, timezone, geolocation, permissions, and other browser context settings.
See: https://playwright.dev/docs/api/class-browser#browser-new-context
Fields§
§viewport: Option<Viewport>Sets consistent viewport for all pages in the context.
Set to null via no_viewport(true) to disable viewport emulation.
no_viewport: Option<bool>Disables viewport emulation when set to true.
Note: Playwright’s public API calls this noViewport, but the protocol
expects noDefaultViewport. playwright-python applies this transformation
in _prepare_browser_context_params.
user_agent: Option<String>Custom user agent string
locale: Option<String>Locale for the context (e.g., “en-GB”, “de-DE”, “fr-FR”)
timezone_id: Option<String>Timezone identifier (e.g., “America/New_York”, “Europe/Berlin”)
geolocation: Option<Geolocation>Geolocation coordinates
permissions: Option<Vec<String>>List of permissions to grant (e.g., “geolocation”, “notifications”)
proxy: Option<ProxySettings>Network proxy settings
color_scheme: Option<String>Emulates ‘prefers-colors-scheme’ media feature (“light”, “dark”, “no-preference”)
has_touch: Option<bool>Whether the viewport supports touch events
is_mobile: Option<bool>Whether the meta viewport tag is respected
javascript_enabled: Option<bool>Whether JavaScript is enabled in the context
offline: Option<bool>Emulates network being offline
accept_downloads: Option<bool>Whether to automatically download attachments
bypass_csp: Option<bool>Whether to bypass Content-Security-Policy
ignore_https_errors: Option<bool>Whether to ignore HTTPS errors
device_scale_factor: Option<f64>Device scale factor (default: 1)
extra_http_headers: Option<HashMap<String, String>>Extra HTTP headers to send with every request
base_url: Option<String>Base URL for relative navigation
storage_state: Option<StorageState>Storage state to populate the context (cookies, localStorage, sessionStorage).
Can be an inline StorageState object or a file path string.
Use builder methods storage_state() for inline or storage_state_path() for file path.
storage_state_path: Option<String>Storage state file path (alternative to inline storage_state). This is handled by the builder and converted to storage_state during serialization.
args: Option<Vec<String>>Additional arguments to pass to browser instance
channel: Option<String>Browser distribution channel (e.g., “chrome”, “msedge”)
chromium_sandbox: Option<bool>Enable Chromium sandboxing (default: false on Linux)
devtools: Option<bool>Auto-open DevTools (deprecated, default: false)
downloads_path: Option<String>Directory to save downloads
executable_path: Option<String>Path to custom browser executable
firefox_user_prefs: Option<HashMap<String, Value>>Firefox user preferences (Firefox only)
headless: Option<bool>Run in headless mode (default: true unless devtools=true)
ignore_default_args: Option<IgnoreDefaultArgs>Filter or disable default browser arguments.
When true, Playwright does not pass its own default args.
When an array, filters out the given default arguments.
See: https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
slow_mo: Option<f64>Slow down operations by N milliseconds
timeout: Option<f64>Timeout for browser launch in milliseconds
traces_dir: Option<String>Directory to save traces
strict_selectors: Option<bool>Check if strict selectors mode is enabled
reduced_motion: Option<String>Emulates ‘prefers-reduced-motion’ media feature
forced_colors: Option<String>Emulates ‘forced-colors’ media feature
service_workers: Option<String>Whether to allow sites to register Service workers
record_har: Option<RecordHar>Options for recording HAR
record_video: Option<RecordVideo>Options for recording video
Implementations§
Source§impl BrowserContextOptions
impl BrowserContextOptions
Sourcepub fn builder() -> BrowserContextOptionsBuilder
pub fn builder() -> BrowserContextOptionsBuilder
Creates a new builder for BrowserContextOptions
Trait Implementations§
Source§impl Clone for BrowserContextOptions
impl Clone for BrowserContextOptions
Source§fn clone(&self) -> BrowserContextOptions
fn clone(&self) -> BrowserContextOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more