BrowserType

Struct BrowserType 

Source
pub struct BrowserType { /* private fields */ }
Expand description

BrowserType represents a browser engine (Chromium, Firefox, or WebKit).

Each Playwright instance provides three BrowserType objects accessible via:

  • playwright.chromium()
  • playwright.firefox()
  • playwright.webkit()

§Example

let playwright = Playwright::launch().await?;
let chromium = playwright.chromium();

// Verify browser type info
assert_eq!(chromium.name(), "chromium");
assert!(!chromium.executable_path().is_empty());

// Launch with default options
let browser1 = chromium.launch().await?;
assert_eq!(browser1.name(), "chromium");
assert!(!browser1.version().is_empty());
browser1.close().await?;

// Launch with custom options
let options = LaunchOptions::default()
    .headless(true)
    .slow_mo(100.0)
    .args(vec!["--no-sandbox".to_string()]);

let browser2 = chromium.launch_with_options(options).await?;
assert_eq!(browser2.name(), "chromium");
assert!(!browser2.version().is_empty());
browser2.close().await?;

See: https://playwright.dev/docs/api/class-browsertype

Implementations§

Source§

impl BrowserType

Source

pub fn new( parent: Arc<dyn ChannelOwner>, type_name: String, guid: Arc<str>, initializer: Value, ) -> Result<BrowserType, Error>

Creates a new BrowserType object from protocol initialization.

Called by the object factory when server sends create message.

§Arguments
  • parent - Parent Playwright object
  • type_name - Protocol type name (“BrowserType”)
  • guid - Unique GUID from server (e.g., “browserType@chromium”)
  • initializer - Initial state with name and executablePath
Source

pub fn name(&self) -> &str

Returns the browser name (“chromium”, “firefox”, or “webkit”).

Source

pub fn executable_path(&self) -> &str

Returns the path to the browser executable.

Source

pub async fn launch(&self) -> Result<Browser, Error>

Launches a browser instance with default options.

This is equivalent to calling launch_with_options(LaunchOptions::default()).

§Errors

Returns error if:

  • Browser executable not found
  • Launch timeout (default 30s)
  • Browser process fails to start

See: https://playwright.dev/docs/api/class-browsertype#browser-type-launch

Source

pub async fn launch_with_options( &self, options: LaunchOptions, ) -> Result<Browser, Error>

Launches a browser instance with custom options.

§Arguments
  • options - Launch options (headless, args, etc.)
§Errors

Returns error if:

  • Browser executable not found
  • Launch timeout
  • Invalid options
  • Browser process fails to start

See: https://playwright.dev/docs/api/class-browsertype#browser-type-launch

Trait Implementations§

Source§

impl ChannelOwner for BrowserType

Source§

fn guid(&self) -> &str

Returns the unique GUID for this object. Read more
Source§

fn type_name(&self) -> &str

Returns the protocol type name (e.g., “Browser”, “Page”).
Source§

fn parent(&self) -> Option<Arc<dyn ChannelOwner>>

Returns the parent object, if any. Read more
Source§

fn connection(&self) -> Arc<dyn ConnectionLike>

Returns the connection this object belongs to.
Source§

fn initializer(&self) -> &Value

Returns the raw initializer JSON from the server. Read more
Source§

fn channel(&self) -> &Channel

Returns the channel for RPC communication.
Source§

fn dispose(&self, reason: DisposeReason)

Disposes this object and all its children. Read more
Source§

fn adopt(&self, child: Arc<dyn ChannelOwner>)

Adopts a child object (moves from old parent to this parent). Read more
Source§

fn add_child(&self, guid: Arc<str>, child: Arc<dyn ChannelOwner>)

Adds a child object to this parent’s registry. Read more
Source§

fn remove_child(&self, guid: &str)

Removes a child object from this parent’s registry. Read more
Source§

fn on_event(&self, method: &str, params: Value)

Handles a protocol event sent to this object. Read more
Source§

fn was_collected(&self) -> bool

Returns true if this object was garbage collected.
Source§

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

Enables downcasting to concrete types. Read more
Source§

impl Debug for BrowserType

Source§

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

Formats the value using the given formatter. 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<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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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