Skip to main content

Page

Struct Page 

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

A browser page/tab.

Implementations§

Source§

impl Page

Source

pub fn new(engine: EngineHandle) -> Self

Source

pub async fn from_html(html: &str, stealth: bool) -> Result<Self, PageError>

Create a page from raw HTML (no network).

Source

pub async fn with_profile( html: &str, url: &str, _profile: StealthProfile, ) -> Result<Self, PageError>

Create a page with profile and URL (no network).

Source

pub fn reload_html(&mut self, html: &str, url: &str)

Reload the page with new HTML (reuses V8 isolate in v8 mode).

Source

pub async fn navigate(&mut self, url: &str) -> Result<(), PageError>

Navigate to a URL with challenge-aware retry loop.

Fetch → classify → if challenge detected, retry up to max_iterations. Uses 15s budget by default.

Source

pub async fn navigate_with_solvers( &mut self, url: &str, solvers: &[&dyn ChallengeSolver], ) -> Result<(), PageError>

Navigate with a custom solver list.

Same as navigate() but accepts external challenge solvers.

Source

pub async fn navigate_warm(&mut self, url: &str) -> Result<(), PageError>

Warm navigation — reuse existing page state, fetch new URL.

Faster than cold navigate() because it skips profile setup.

Source

pub async fn evaluate_async(&mut self, script: &str) -> Result<Value, PageError>

Source

pub fn evaluate(&mut self, script: &str) -> Result<String, PageError>

Evaluate JavaScript — uses V8 when available, stub otherwise.

Source

pub fn execute_inline_scripts(&mut self) -> Result<(), PageError>

Execute all inline <script> tags (those without src) in document order.

With the v8 feature, scripts run in the page’s persistent BrowserJsRuntime so globals set by inline scripts are accessible via evaluate().

Source

pub fn execute_scripts( &mut self, external_scripts: &[LoadedResource], ) -> Result<(), PageError>

Execute all scripts (inline + external) in document order.

Inline scripts are executed first, then external scripts from the provided list (filtered to ResourceType::Script). Script errors are logged as warnings and do not stop execution.

Source

pub fn collect_inline_scripts(&self) -> Vec<String>

Collect text content of inline <script> elements (no src attribute) in document order.

Source

pub async fn title_async(&self) -> Result<String, PageError>

Source

pub fn title(&self) -> String

Synchronous title.

Source

pub fn url(&self) -> &str

Current URL.

Source

pub fn stealth(&self) -> bool

Whether stealth globals are enabled for this page.

Source

pub fn content(&self) -> String

Page HTML content.

Source

pub async fn text_content(&self) -> Result<String, PageError>

Source

pub async fn text_of(&self, _selector: &str) -> Result<String, PageError>

Source

pub fn has_element(&self, _selector: &str) -> bool

Synchronous element check.

Source

pub fn challenge_verdict(&self) -> ChallengeVerdict

Challenge classification result.

Source

pub fn engine_class(&self) -> &EngineClass

Full challenge classification.

Source

pub fn dom(&self) -> &Dom

Source

pub fn apply_stylesheets(&mut self, styles: &[LoadedResource])

Apply external stylesheets by injecting them as <style> tags in <head>.

Source

pub fn set_subresource_block_types(&mut self, types: HashSet<ResourceType>)

Set which resource types to block during subresource loading.

Source

pub async fn load_subresources(&mut self) -> Result<(), PageError>

Orchestrate the full subresource loading pipeline: discover → filter → fetch → apply CSS → execute scripts.

Trait Implementations§

Source§

impl Debug for Page

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Freeze for Page

§

impl !RefUnwindSafe for Page

§

impl !Send for Page

§

impl !Sync for Page

§

impl !UnwindSafe for Page

§

impl Unpin for Page

§

impl UnsafeUnpin for Page

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> 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> MaybeBoxed<Box<T>> for T

Source§

fn maybe_boxed(self) -> Box<T>

Convert
Source§

impl<T> MaybeBoxed<T> for T

Source§

fn maybe_boxed(self) -> T

Convert
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

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