Browser

Struct Browser 

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

A browser instance connected via CDP.

Implementations§

Source§

impl Browser

Source

pub fn launch() -> BrowserBuilder

Create a browser builder for launching a new browser.

§Example
use viewpoint_core::Browser;

let browser = Browser::launch()
    .headless(true)
    .launch()
    .await?;
Source

pub async fn connect(ws_url: &str) -> Result<Browser, BrowserError>

Connect to an already-running browser via WebSocket URL.

§Example
use viewpoint_core::Browser;

let browser = Browser::connect("ws://localhost:9222/devtools/browser/...").await?;
§Errors

Returns an error if the connection fails.

Source

pub async fn new_context(&self) -> Result<BrowserContext, BrowserError>

Create a new isolated browser context.

Browser contexts are isolated environments within the browser, similar to incognito windows. They have their own cookies, cache, and storage.

§Errors

Returns an error if context creation fails.

Source

pub fn new_context_builder(&self) -> NewContextBuilder<'_>

Create a new context options builder.

Use this to create a browser context with custom configuration.

§Example
use viewpoint_core::{Browser, Permission};

let browser = Browser::launch().headless(true).launch().await?;

let context = browser.new_context_builder()
    .geolocation(37.7749, -122.4194)
    .permissions(vec![Permission::Geolocation])
    .offline(false)
    .build()
    .await?;
Source

pub async fn new_context_with_options( &self, options: ContextOptions, ) -> Result<BrowserContext, BrowserError>

Create a new isolated browser context with options.

§Errors

Returns an error if context creation fails.

Source

pub async fn close(&self) -> Result<(), BrowserError>

Close the browser.

If this browser was launched by us, the process will be terminated. If it was connected to, only the WebSocket connection is closed.

§Errors

Returns an error if closing fails.

Source

pub fn connection(&self) -> &Arc<CdpConnection>

Get a reference to the CDP connection.

Source

pub fn is_owned(&self) -> bool

Check if this browser was launched by us.

Trait Implementations§

Source§

impl Debug for Browser

Source§

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

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

impl Drop for Browser

Source§

fn drop(&mut self)

Executes the destructor for this 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<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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: 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: 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> Same for T

Source§

type Output = T

Should always be Self
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<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