Skip to main content

RealBrowserOptions

Struct RealBrowserOptions 

Source
pub struct RealBrowserOptions {
Show 35 fields pub engine: EngineType, pub channel: String, pub executable_path: Option<PathBuf>, pub user_data_dir: Option<PathBuf>, pub profile_directory: String, pub default_browser_check: Option<bool>, pub first_run: bool, pub preferences: Value, pub local_state: Value, pub storage_state: Option<StorageStateInput>, pub remote_debugging_port: Option<u16>, pub port_attempts: u32, pub headless: bool, pub restrictions: Vec<String>, pub args: Vec<String>, pub extra_args: Vec<String>, pub ignore_default_args: Vec<String>, pub ignore_all_default_args: bool, pub env: Option<HashMap<String, String>>, pub automation_parity: bool, pub startup_timeout: Duration, pub close_timeout: Duration, pub slow_mo: u64, pub timeout: Option<Duration>, pub protocol_timeout: Option<Duration>, pub seed_cookies: Vec<Value>, pub migrate_from: Option<MigrationSource>, pub migrate_include: Option<Vec<String>>, pub migrate_domains: Vec<String>, pub migrate_password_csv: Option<PathBuf>, pub migrate_include_payment_cards: bool, pub verbose: bool, pub node_executable: Option<PathBuf>, pub node_working_dir: Option<PathBuf>, pub downloads: DownloadSetting,
}
Expand description

Options for launching an installed browser and attaching over CDP.

Fields§

§engine: EngineType

Browser Commander engine used after the browser starts.

§channel: String

Installed Chrome-family channel to discover.

§executable_path: Option<PathBuf>

Explicit installed-browser executable, bypassing channel discovery.

§user_data_dir: Option<PathBuf>

Dedicated, non-default browser profile. When None a fresh temporary profile is created for the launch and deleted when the browser exits.

§profile_directory: String

Profile whose Preferences are seeded before launch.

§default_browser_check: Option<bool>

Whether to ask to become the OS default browser. Defaults to false.

§first_run: bool

Allow the browser’s first-run flow in a fresh profile.

§preferences: Value

JSON object deep-merged into Default/Preferences before launch.

§local_state: Value

JSON object deep-merged into Local State before launch.

§storage_state: Option<StorageStateInput>

Playwright-compatible cookie and localStorage state to restore.

§remote_debugging_port: Option<u16>

Fixed loopback CDP port. When None a free port is reserved (and a lost port race retried). Zero is refused: it makes Chrome enable AutomationControlled.

§port_attempts: u32

Ports to try when the port is reserved by the launcher.

§headless: bool

Run the installed browser headlessly (--headless=new).

§restrictions: Vec<String>

Opt-in restrictions from the shared catalogue, such as no-extensions or the legacy-defaults preset. See restrictions.

§args: Vec<String>

Additional browser arguments.

§extra_args: Vec<String>

Additional browser arguments appended after the compatibility args.

§ignore_default_args: Vec<String>

Ignored since issue #103: there are no Browser Commander defaults left to omit. Kept so existing code compiles.

§ignore_all_default_args: bool

Ignored since issue #103; see ignore_default_args.

§env: Option<HashMap<String, String>>

Extra environment for the browser process only. The caller’s process environment is never modified.

§automation_parity: bool

Add --disable-blink-features=AutomationControlled when the command line contains a switch that would turn navigator.webdriver on (such as a caller-supplied --enable-automation). A plain launch, headful or headless, has none, so its command line stays exactly as typed.

§startup_timeout: Duration

Maximum time to wait for Chrome’s DevTools endpoint.

§close_timeout: Duration

Time allowed for browser exit before RealBrowserLaunchResult::close kills it.

§slow_mo: u64

Delay Playwright/Puppeteer operations by this many milliseconds.

§timeout: Option<Duration>

Optional connection timeout.

§protocol_timeout: Option<Duration>

Optional Puppeteer timeout for individual CDP calls.

§seed_cookies: Vec<Value>

Cookies to seed immediately after attaching.

§migrate_from: Option<MigrationSource>

Read-only source profile to copy into the dedicated profile before launch.

§migrate_include: Option<Vec<String>>

Data classes to copy. None selects every supported class.

§migrate_domains: Vec<String>

Host/subdomain filters for migrated per-site data.

§migrate_password_csv: Option<PathBuf>

Explicit Safari/Passwords CSV export to import before launching.

§migrate_include_payment_cards: bool

Separate explicit consent to import payment cards before launching.

§verbose: bool

Enable browser and connector logging; the browser’s output is mirrored.

§node_executable: Option<PathBuf>

Node.js executable for Playwright/Puppeteer bridge engines.

§node_working_dir: Option<PathBuf>

Directory where Node resolves Playwright/Puppeteer.

§downloads: DownloadSetting

Manage the installed browser’s downloads.

The same setting and the same manager as LaunchOptions and ConnectOptions, which is what makes a download started by hand in a visible window land where an automated one does. See downloads.

Implementations§

Source§

impl RealBrowserOptions

Source

pub fn chromiumoxide() -> Self

Create native Chromiumoxide options.

Source

pub fn playwright() -> Self

Create Playwright bridge options.

Source

pub fn puppeteer() -> Self

Create Puppeteer bridge options.

Source

pub fn channel(self, channel: impl Into<String>) -> Self

Select an installed browser channel.

Source

pub fn executable_path(self, executable_path: impl Into<PathBuf>) -> Self

Select an explicit installed-browser executable.

Source

pub fn user_data_dir(self, user_data_dir: impl Into<PathBuf>) -> Self

Select a dedicated browser profile instead of a temporary one.

Source

pub fn storage_state(self, state: impl Into<StorageStateInput>) -> Self

Restore portable cookies and origin-scoped localStorage after connecting.

Source

pub fn remote_debugging_port(self, port: u16) -> Self

Use a fixed loopback CDP port instead of a reserved one. Zero is refused at launch.

Source

pub fn port_attempts(self, attempts: u32) -> Self

Set how many reserved ports to try when another process takes one.

Source

pub fn headless(self, headless: bool) -> Self

Enable or disable headless mode.

Source

pub fn restrictions<I, S>(self, restrictions: I) -> Self
where I: IntoIterator<Item = S>, S: Into<String>,

Opt in to named launch restrictions or presets.

Source

pub fn with_args(self, args: Vec<String>) -> Self

Set additional browser arguments.

Source

pub fn with_extra_args(self, args: Vec<String>) -> Self

Add browser arguments after the compatibility args field.

Source

pub fn ignore_default_args(self, args: Vec<String>) -> Self

👎Deprecated since 0.13.0:

Browser Commander adds no default switches any more; opt in with restrictions instead

Has no effect since issue #103: Browser Commander adds no defaults.

Source

pub fn ignore_all_default_args(self) -> Self

👎Deprecated since 0.13.0:

Browser Commander adds no default switches any more; opt in with restrictions instead

Has no effect since issue #103: Browser Commander adds no defaults.

Source

pub fn env(self, env: HashMap<String, String>) -> Self

Extra environment for the browser process only.

Source

pub fn automation_parity(self, enabled: bool) -> Self

Keep navigator.webdriver false when a switch would turn it on.

Source

pub fn startup_timeout(self, timeout: Duration) -> Self

Set the CDP readiness timeout.

Source

pub fn close_timeout(self, timeout: Duration) -> Self

Set how long closing waits for the browser to exit before killing it.

Source

pub fn slow_mo(self, milliseconds: u64) -> Self

Set the engine operation delay.

Source

pub fn timeout(self, timeout: Duration) -> Self

Set the connection timeout.

Source

pub fn protocol_timeout(self, timeout: Duration) -> Self

Set Puppeteer’s timeout for individual CDP calls.

Source

pub fn seed_cookies(self, cookies: Vec<Value>) -> Self

Seed cookies after attaching.

Source

pub fn migrate_from(self, source: MigrationSource) -> Self

Copy supported profile data before launch and seed its cookies over CDP.

Source

pub fn migrate_include<I, S>(self, include: I) -> Self
where I: IntoIterator<Item = S>, S: Into<String>,

Restrict a profile migration to the selected data classes.

Source

pub fn migrate_domains<I, S>(self, domains: I) -> Self
where I: IntoIterator<Item = S>, S: Into<String>,

Restrict migrated cookies to the selected hosts.

Source

pub fn verbose(self, verbose: bool) -> Self

Enable launch and connection logging.

Source

pub fn node_executable(self, executable: impl Into<PathBuf>) -> Self

Override the Node.js executable for bridge engines.

Source

pub fn node_working_dir(self, directory: impl Into<PathBuf>) -> Self

Set the directory where Node resolves Playwright/Puppeteer.

Source

pub fn downloads(self, downloads: impl Into<DownloadSetting>) -> Self

Manage the installed browser’s downloads.

§Arguments
Source

pub fn get_user_data_dir(&self) -> PathBuf

👎Deprecated since 0.13.0:

launch_real_browser uses a fresh temporary profile unless user_data_dir is set; read RealBrowserLaunchResult::user_data_dir

The profile a launch would use: the configured one, or Browser Commander’s old managed per-channel directory.

Trait Implementations§

Source§

impl Clone for RealBrowserOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RealBrowserOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RealBrowserOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> MaybeSendSync for T

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more