Skip to main content

DynamicSession

Struct DynamicSession 

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

Standard Playwright browser automation session without stealth measures.

DynamicSession manages the full lifecycle of a Chromium browser: launching the Playwright driver, creating a browser context with cookies and init scripts, navigating to pages, waiting for load events, and extracting the rendered HTML into a Response. It supports static proxies, rotating proxies, CDP connections, resource blocking, domain blocking, and custom page callbacks.

For sites with bot detection, use StealthySession instead.

Implementations§

Source§

impl DynamicSession

Source

pub fn new(config: BrowserConfig) -> Result<Self>

Create a new DynamicSession from the given configuration, validating it upfront. The browser is not launched yet – call start to do that. Returns an error if the configuration fails validation.

Source

pub async fn start(&mut self) -> Result<()>

Launch the browser and create the initial browser context.

Depending on the configuration this will either launch a new Chromium process, connect to an existing one via CDP, or launch with a rotating proxy provider. Init scripts and cookies from the config are applied to the context. You must call this before calling fetch.

Source

pub async fn fetch( &self, url: &str, params: Option<FetchParams>, ) -> Result<Response>

Navigate to url, wait for stability, and return the page response with retries.

Pass an optional FetchParams to override session-level settings for this single request. The method retries up to config.retries times on failure, sleeping config.retry_delay_secs between attempts.

Source

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

Close the browser context, browser, and Playwright driver.

This shuts down resources in reverse order: context, then browser, then driver. After calling this, is_alive returns false and any subsequent fetch calls will fail.

Source

pub fn is_alive(&self) -> bool

Returns true if the session has been started and not yet closed. Use this to guard against calling fetch on a session that has not been started or has already been shut down.

Source

pub fn pool_stats(&self) -> PoolStats

Return a snapshot of the page pool’s current statistics. See PoolStats for what is included.

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