pub struct BrowserContextOptionsBuilder { /* private fields */ }Expand description
Builder for BrowserContextOptions
Implementations§
Source§impl BrowserContextOptionsBuilder
impl BrowserContextOptionsBuilder
Sourcepub fn no_viewport(self, no_viewport: bool) -> Self
pub fn no_viewport(self, no_viewport: bool) -> Self
Disables viewport emulation
Sourcepub fn user_agent(self, user_agent: String) -> Self
pub fn user_agent(self, user_agent: String) -> Self
Sets the user agent string
Sourcepub fn timezone_id(self, timezone_id: String) -> Self
pub fn timezone_id(self, timezone_id: String) -> Self
Sets the timezone identifier
Sourcepub fn geolocation(self, geolocation: Geolocation) -> Self
pub fn geolocation(self, geolocation: Geolocation) -> Self
Sets the geolocation
Sourcepub fn permissions(self, permissions: Vec<String>) -> Self
pub fn permissions(self, permissions: Vec<String>) -> Self
Sets the permissions to grant
Sourcepub fn proxy(self, proxy: ProxySettings) -> Self
pub fn proxy(self, proxy: ProxySettings) -> Self
Sets the network proxy settings for this context.
This allows routing all network traffic through a proxy server, useful for rotating proxies without creating new browsers.
§Example
use playwright_rs::protocol::{BrowserContextOptions, ProxySettings};
let options = BrowserContextOptions::builder()
.proxy(ProxySettings {
server: "http://proxy.example.com:8080".to_string(),
bypass: Some(".example.com".to_string()),
username: Some("user".to_string()),
password: Some("pass".to_string()),
})
.build();See: https://playwright.dev/docs/api/class-browser#browser-new-context
Sourcepub fn color_scheme(self, color_scheme: String) -> Self
pub fn color_scheme(self, color_scheme: String) -> Self
Sets the color scheme preference
Sourcepub fn has_touch(self, has_touch: bool) -> Self
pub fn has_touch(self, has_touch: bool) -> Self
Sets whether the viewport supports touch events
Sourcepub fn javascript_enabled(self, javascript_enabled: bool) -> Self
pub fn javascript_enabled(self, javascript_enabled: bool) -> Self
Sets whether JavaScript is enabled
Sourcepub fn accept_downloads(self, accept_downloads: bool) -> Self
pub fn accept_downloads(self, accept_downloads: bool) -> Self
Sets whether to automatically download attachments
Sourcepub fn bypass_csp(self, bypass_csp: bool) -> Self
pub fn bypass_csp(self, bypass_csp: bool) -> Self
Sets whether to bypass Content-Security-Policy
Sourcepub fn ignore_https_errors(self, ignore_https_errors: bool) -> Self
pub fn ignore_https_errors(self, ignore_https_errors: bool) -> Self
Sets whether to ignore HTTPS errors
Sourcepub fn device_scale_factor(self, device_scale_factor: f64) -> Self
pub fn device_scale_factor(self, device_scale_factor: f64) -> Self
Sets the device scale factor
Sourcepub fn extra_http_headers(
self,
extra_http_headers: HashMap<String, String>,
) -> Self
pub fn extra_http_headers( self, extra_http_headers: HashMap<String, String>, ) -> Self
Sets extra HTTP headers
Sourcepub fn storage_state(self, storage_state: StorageState) -> Self
pub fn storage_state(self, storage_state: StorageState) -> Self
Sets the storage state inline (cookies, localStorage).
Populates the browser context with the provided storage state, including cookies and local storage. This is useful for initializing a context with a saved authentication state.
Mutually exclusive with storage_state_path().
§Example
use playwright_rs::protocol::{BrowserContextOptions, Cookie, StorageState, Origin, LocalStorageItem};
let storage_state = StorageState {
cookies: vec![Cookie {
name: "session_id".to_string(),
value: "abc123".to_string(),
domain: ".example.com".to_string(),
path: "/".to_string(),
expires: -1.0,
http_only: true,
secure: true,
same_site: Some("Lax".to_string()),
}],
origins: vec![Origin {
origin: "https://example.com".to_string(),
local_storage: vec![LocalStorageItem {
name: "user_prefs".to_string(),
value: "{\"theme\":\"dark\"}".to_string(),
}],
}],
};
let options = BrowserContextOptions::builder()
.storage_state(storage_state)
.build();See: https://playwright.dev/docs/api/class-browser#browser-new-context-option-storage-state
Sourcepub fn storage_state_path(self, path: String) -> Self
pub fn storage_state_path(self, path: String) -> Self
Sets the storage state from a file path.
The file should contain a JSON representation of StorageState with cookies and origins. This is useful for loading authentication state saved from a previous session.
Mutually exclusive with storage_state().
§Example
use playwright_rs::protocol::BrowserContextOptions;
let options = BrowserContextOptions::builder()
.storage_state_path("auth.json".to_string())
.build();The file should have this format:
{
"cookies": [{
"name": "session_id",
"value": "abc123",
"domain": ".example.com",
"path": "/",
"expires": -1,
"httpOnly": true,
"secure": true,
"sameSite": "Lax"
}],
"origins": [{
"origin": "https://example.com",
"localStorage": [{
"name": "user_prefs",
"value": "{\"theme\":\"dark\"}"
}]
}]
}See: https://playwright.dev/docs/api/class-browser#browser-new-context-option-storage-state
Sourcepub fn args(self, args: Vec<String>) -> Self
pub fn args(self, args: Vec<String>) -> Self
Sets additional arguments to pass to browser instance (for launch_persistent_context)
Sourcepub fn channel(self, channel: String) -> Self
pub fn channel(self, channel: String) -> Self
Sets browser distribution channel (for launch_persistent_context)
Sourcepub fn chromium_sandbox(self, enabled: bool) -> Self
pub fn chromium_sandbox(self, enabled: bool) -> Self
Enables or disables Chromium sandboxing (for launch_persistent_context)
Sourcepub fn devtools(self, enabled: bool) -> Self
pub fn devtools(self, enabled: bool) -> Self
Auto-open DevTools (for launch_persistent_context)
Sourcepub fn downloads_path(self, path: String) -> Self
pub fn downloads_path(self, path: String) -> Self
Sets directory to save downloads (for launch_persistent_context)
Sourcepub fn executable_path(self, path: String) -> Self
pub fn executable_path(self, path: String) -> Self
Sets path to custom browser executable (for launch_persistent_context)
Sourcepub fn firefox_user_prefs(self, prefs: HashMap<String, Value>) -> Self
pub fn firefox_user_prefs(self, prefs: HashMap<String, Value>) -> Self
Sets Firefox user preferences (for launch_persistent_context, Firefox only)
Sourcepub fn headless(self, enabled: bool) -> Self
pub fn headless(self, enabled: bool) -> Self
Run in headless mode (for launch_persistent_context)
Sourcepub fn ignore_default_args(self, args: IgnoreDefaultArgs) -> Self
pub fn ignore_default_args(self, args: IgnoreDefaultArgs) -> Self
Filter or disable default browser arguments (for launch_persistent_context).
When IgnoreDefaultArgs::Bool(true), Playwright does not pass its own
default arguments and only uses the ones from args.
When IgnoreDefaultArgs::Array(vec), filters out the given default arguments.
See: https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
Sourcepub fn slow_mo(self, ms: f64) -> Self
pub fn slow_mo(self, ms: f64) -> Self
Slow down operations by N milliseconds (for launch_persistent_context)
Sourcepub fn timeout(self, ms: f64) -> Self
pub fn timeout(self, ms: f64) -> Self
Set timeout for browser launch in milliseconds (for launch_persistent_context)
Sourcepub fn traces_dir(self, path: String) -> Self
pub fn traces_dir(self, path: String) -> Self
Set directory to save traces (for launch_persistent_context)
Sourcepub fn strict_selectors(self, enabled: bool) -> Self
pub fn strict_selectors(self, enabled: bool) -> Self
Check if strict selectors mode is enabled
Sourcepub fn reduced_motion(self, value: String) -> Self
pub fn reduced_motion(self, value: String) -> Self
Emulates ‘prefers-reduced-motion’ media feature
Sourcepub fn forced_colors(self, value: String) -> Self
pub fn forced_colors(self, value: String) -> Self
Emulates ‘forced-colors’ media feature
Sourcepub fn service_workers(self, value: String) -> Self
pub fn service_workers(self, value: String) -> Self
Whether to allow sites to register Service workers (“allow” | “block”)
Sourcepub fn record_har(self, record_har: RecordHar) -> Self
pub fn record_har(self, record_har: RecordHar) -> Self
Sets options for recording HAR
Sourcepub fn record_video(self, record_video: RecordVideo) -> Self
pub fn record_video(self, record_video: RecordVideo) -> Self
Sets options for recording video
Sourcepub fn build(self) -> BrowserContextOptions
pub fn build(self) -> BrowserContextOptions
Builds the BrowserContextOptions
Trait Implementations§
Source§impl Clone for BrowserContextOptionsBuilder
impl Clone for BrowserContextOptionsBuilder
Source§fn clone(&self) -> BrowserContextOptionsBuilder
fn clone(&self) -> BrowserContextOptionsBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more