pub struct ElementHandle { /* private fields */ }Expand description
Puppeteer’s ElementHandle (puppeteer-core 25.10.0), a remote object
served by browser-commander serve --stdio.
Extends JSHandle; the inherited methods are repeated here.
Implementations§
Source§impl ElementHandle
impl ElementHandle
Sourcepub async fn evaluate(
&self,
page_function: impl Into<JsFunction>,
args: &[Value],
) -> Result<Value, BridgeError>
pub async fn evaluate( &self, page_function: impl Into<JsFunction>, args: &[Value], ) -> Result<Value, BridgeError>
JSHandle.evaluate
evaluate<Params extends unknown[], Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>>(pageFunction: Func | string, ...args: Params ): Promise<Awaited<ReturnType<Func>>>Sourcepub async fn evaluate_handle(
&self,
page_function: impl Into<JsFunction>,
args: &[Value],
) -> Result<JSHandle, BridgeError>
pub async fn evaluate_handle( &self, page_function: impl Into<JsFunction>, args: &[Value], ) -> Result<JSHandle, BridgeError>
JSHandle.evaluateHandle
evaluateHandle<Params extends unknown[], Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>>(pageFunction: Func | string, ...args: Params ): Promise<HandleFor<Awaited<ReturnType<Func>>>>Sourcepub async fn get_property(
&self,
property_name: Value,
) -> Result<JSHandle, BridgeError>
pub async fn get_property( &self, property_name: Value, ) -> Result<JSHandle, BridgeError>
JSHandle.getProperty
getProperty<K extends keyof T>(propertyName: HandleOr<K>): Promise<HandleFor<T[K]>>
getProperty(propertyName: string): Promise<JSHandle<unknown>>Sourcepub async fn get_properties(&self) -> Result<Value, BridgeError>
pub async fn get_properties(&self) -> Result<Value, BridgeError>
JSHandle.getProperties
getProperties(): Promise<Map<string, JSHandle>>Sourcepub async fn json_value(&self) -> Result<Value, BridgeError>
pub async fn json_value(&self) -> Result<Value, BridgeError>
JSHandle.jsonValue
jsonValue(): Promise<T>Sourcepub async fn as_element(&self) -> Result<Option<ElementHandle>, BridgeError>
pub async fn as_element(&self) -> Result<Option<ElementHandle>, BridgeError>
JSHandle.asElement
asElement(): ElementHandle<Node> | nullSourcepub async fn dispose(&self) -> Result<(), BridgeError>
pub async fn dispose(&self) -> Result<(), BridgeError>
JSHandle.dispose
dispose(): Promise<void>Sourcepub async fn to_string(&self) -> Result<String, BridgeError>
pub async fn to_string(&self) -> Result<String, BridgeError>
JSHandle.toString
toString(): stringSourcepub async fn remote_object(&self) -> Result<Value, BridgeError>
pub async fn remote_object(&self) -> Result<Value, BridgeError>
JSHandle.remoteObject
remoteObject(): Protocol.Runtime.RemoteObjectSourcepub async fn frame(&self) -> Result<Frame, BridgeError>
pub async fn frame(&self) -> Result<Frame, BridgeError>
ElementHandle.frame
get frame(): FrameSourcepub async fn query_selector(
&self,
selector: &str,
) -> Result<Option<ElementHandle>, BridgeError>
pub async fn query_selector( &self, selector: &str, ) -> Result<Option<ElementHandle>, BridgeError>
ElementHandle.$
$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>Sourcepub async fn query_selector_all(
&self,
selector: &str,
options: Option<Value>,
) -> Result<Vec<ElementHandle>, BridgeError>
pub async fn query_selector_all( &self, selector: &str, options: Option<Value>, ) -> Result<Vec<ElementHandle>, BridgeError>
ElementHandle.$$
$$<Selector extends string>(selector: Selector, options?: QueryOptions): Promise<Array<ElementHandle<NodeFor<Selector>>>>Sourcepub async fn eval_on_selector(
&self,
selector: &str,
page_function: impl Into<JsFunction>,
args: &[Value],
) -> Result<Value, BridgeError>
pub async fn eval_on_selector( &self, selector: &str, page_function: impl Into<JsFunction>, args: &[Value], ) -> Result<Value, BridgeError>
ElementHandle.$eval
$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<NodeFor<Selector>, Params >>(selector: Selector, pageFunction: Func | string, ...args: Params ): Promise<Awaited<ReturnType<Func>>>Sourcepub async fn eval_on_selector_all(
&self,
selector: &str,
page_function: impl Into<JsFunction>,
args: &[Value],
) -> Result<Value, BridgeError>
pub async fn eval_on_selector_all( &self, selector: &str, page_function: impl Into<JsFunction>, args: &[Value], ) -> Result<Value, BridgeError>
ElementHandle.$$eval
$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFuncWith<Array<NodeFor<Selector>>, Params> = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>>(selector: Selector, pageFunction: Func | string, ...args: Params ): Promise<Awaited<ReturnType<Func>>>Sourcepub async fn wait_for_selector(
&self,
selector: &str,
options: Option<Value>,
) -> Result<Option<ElementHandle>, BridgeError>
pub async fn wait_for_selector( &self, selector: &str, options: Option<Value>, ) -> Result<Option<ElementHandle>, BridgeError>
ElementHandle.waitForSelector
waitForSelector<Selector extends string>(selector: Selector, options?: WaitForSelectorOptions): Promise<ElementHandle<NodeFor<Selector>> | null>Sourcepub async fn is_visible(&self) -> Result<bool, BridgeError>
pub async fn is_visible(&self) -> Result<bool, BridgeError>
ElementHandle.isVisible
isVisible(): Promise<boolean>ElementHandle.isHidden
isHidden(): Promise<boolean>Sourcepub async fn to_element(&self, tag_name: Value) -> Result<JSHandle, BridgeError>
pub async fn to_element(&self, tag_name: Value) -> Result<JSHandle, BridgeError>
ElementHandle.toElement
toElement<K extends keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap>(tagName: K): Promise<HandleFor<ElementFor<K>>>Sourcepub async fn content_frame(
&self,
this: Option<&ElementHandle>,
) -> Result<Value, BridgeError>
pub async fn content_frame( &self, this: Option<&ElementHandle>, ) -> Result<Value, BridgeError>
ElementHandle.contentFrame
contentFrame(this: ElementHandle<HTMLIFrameElement>): Promise<Frame>
contentFrame(): Promise<Frame | null>Sourcepub async fn clickable_point(
&self,
offset: Option<Value>,
) -> Result<Value, BridgeError>
pub async fn clickable_point( &self, offset: Option<Value>, ) -> Result<Value, BridgeError>
ElementHandle.clickablePoint
clickablePoint(offset?: Offset): Promise<Point>Sourcepub async fn hover(&self, this: &ElementHandle) -> Result<(), BridgeError>
pub async fn hover(&self, this: &ElementHandle) -> Result<(), BridgeError>
ElementHandle.hover
hover(this: ElementHandle<Element>): Promise<void>Sourcepub async fn click(
&self,
this: &ElementHandle,
options: Option<Value>,
) -> Result<(), BridgeError>
pub async fn click( &self, this: &ElementHandle, options: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.click
click(this: ElementHandle<Element>, options?: Readonly<ClickOptions>): Promise<void>Sourcepub async fn drag(
&self,
this: &ElementHandle,
target: Value,
) -> Result<Option<Value>, BridgeError>
pub async fn drag( &self, this: &ElementHandle, target: Value, ) -> Result<Option<Value>, BridgeError>
ElementHandle.drag
drag(this: ElementHandle<Element>, target: Point | ElementHandle<Element>): Promise<Protocol.Input.DragData | void>Sourcepub async fn drag_enter(
&self,
this: &ElementHandle,
data: Option<Value>,
) -> Result<(), BridgeError>
pub async fn drag_enter( &self, this: &ElementHandle, data: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.dragEnter
dragEnter(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>Sourcepub async fn drag_over(
&self,
this: &ElementHandle,
data: Option<Value>,
) -> Result<(), BridgeError>
pub async fn drag_over( &self, this: &ElementHandle, data: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.dragOver
dragOver(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>Sourcepub async fn drop(
&self,
this: &ElementHandle,
element: Option<Value>,
) -> Result<(), BridgeError>
pub async fn drop( &self, this: &ElementHandle, element: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.drop
drop(this: ElementHandle<Element>, element: ElementHandle<Element>): Promise<void>
drop(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>Sourcepub async fn drag_and_drop(
&self,
this: &ElementHandle,
target: &ElementHandle,
options: Option<Value>,
) -> Result<(), BridgeError>
pub async fn drag_and_drop( &self, this: &ElementHandle, target: &ElementHandle, options: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.dragAndDrop
dragAndDrop(this: ElementHandle<Element>, target: ElementHandle<Node>, options?: { delay: number; }): Promise<void>Sourcepub async fn select(&self, values: &[&str]) -> Result<Vec<String>, BridgeError>
pub async fn select(&self, values: &[&str]) -> Result<Vec<String>, BridgeError>
ElementHandle.select
select(...values: string[]): Promise<string[]>Sourcepub async fn upload_file(
&self,
this: &ElementHandle,
paths: &[&str],
) -> Result<(), BridgeError>
pub async fn upload_file( &self, this: &ElementHandle, paths: &[&str], ) -> Result<(), BridgeError>
ElementHandle.uploadFile
uploadFile(this: ElementHandle<HTMLInputElement>, ...paths: string[] ): Promise<void>Sourcepub async fn tap(&self, this: &ElementHandle) -> Result<(), BridgeError>
pub async fn tap(&self, this: &ElementHandle) -> Result<(), BridgeError>
ElementHandle.tap
tap(this: ElementHandle<Element>): Promise<void>Sourcepub async fn touch_start(
&self,
this: &ElementHandle,
) -> Result<TouchHandle, BridgeError>
pub async fn touch_start( &self, this: &ElementHandle, ) -> Result<TouchHandle, BridgeError>
ElementHandle.touchStart
touchStart(this: ElementHandle<Element>): Promise<TouchHandle>Sourcepub async fn touch_move(
&self,
this: &ElementHandle,
touch: Option<&TouchHandle>,
) -> Result<(), BridgeError>
pub async fn touch_move( &self, this: &ElementHandle, touch: Option<&TouchHandle>, ) -> Result<(), BridgeError>
ElementHandle.touchMove
touchMove(this: ElementHandle<Element>, touch?: TouchHandle): Promise<void>Sourcepub async fn touch_end(&self, this: &ElementHandle) -> Result<(), BridgeError>
pub async fn touch_end(&self, this: &ElementHandle) -> Result<(), BridgeError>
ElementHandle.touchEnd
touchEnd(this: ElementHandle<Element>): Promise<void>Sourcepub async fn focus(&self) -> Result<(), BridgeError>
pub async fn focus(&self) -> Result<(), BridgeError>
ElementHandle.focus
focus(): Promise<void>Sourcepub async fn type(
&self,
text: &str,
options: Option<Value>,
) -> Result<(), BridgeError>
pub async fn type( &self, text: &str, options: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.type
type(text: string, options?: Readonly<KeyboardTypeOptions>): Promise<void>Sourcepub async fn press(
&self,
key: &str,
options: Option<Value>,
) -> Result<(), BridgeError>
pub async fn press( &self, key: &str, options: Option<Value>, ) -> Result<(), BridgeError>
ElementHandle.press
press(key: KeyInput, options?: Readonly<KeyPressOptions>): Promise<void>Sourcepub async fn bounding_box(&self) -> Result<Option<Value>, BridgeError>
pub async fn bounding_box(&self) -> Result<Option<Value>, BridgeError>
ElementHandle.boundingBox
boundingBox(): Promise<BoundingBox | null>Sourcepub async fn box_model(&self) -> Result<Option<Value>, BridgeError>
pub async fn box_model(&self) -> Result<Option<Value>, BridgeError>
ElementHandle.boxModel
boxModel(): Promise<BoxModel | null>Sourcepub async fn screenshot(
&self,
options: Option<Value>,
) -> Result<Value, BridgeError>
pub async fn screenshot( &self, options: Option<Value>, ) -> Result<Value, BridgeError>
ElementHandle.screenshot
screenshot(options: Readonly<ScreenshotOptions> & { encoding: 'base64'; }): Promise<string>
screenshot(options?: Readonly<ScreenshotOptions>): Promise<Uint8Array>Sourcepub async fn is_intersecting_viewport(
&self,
this: &ElementHandle,
options: Option<Value>,
) -> Result<bool, BridgeError>
pub async fn is_intersecting_viewport( &self, this: &ElementHandle, options: Option<Value>, ) -> Result<bool, BridgeError>
ElementHandle.isIntersectingViewport
isIntersectingViewport(this: ElementHandle<Element>, options?: { threshold?: number; }): Promise<boolean>Sourcepub async fn scroll_into_view(
&self,
this: &ElementHandle,
) -> Result<(), BridgeError>
pub async fn scroll_into_view( &self, this: &ElementHandle, ) -> Result<(), BridgeError>
ElementHandle.scrollIntoView
scrollIntoView(this: ElementHandle<Element>): Promise<void>Sourcepub async fn as_locator(
&self,
this: &ElementHandle,
) -> Result<Locator, BridgeError>
pub async fn as_locator( &self, this: &ElementHandle, ) -> Result<Locator, BridgeError>
ElementHandle.asLocator
asLocator(this: ElementHandle<Element>): Locator<Element>Sourcepub async fn autofill(&self, data: Value) -> Result<(), BridgeError>
pub async fn autofill(&self, data: Value) -> Result<(), BridgeError>
ElementHandle.autofill
autofill(data: AutofillData): Promise<void>Sourcepub async fn backend_node_id(&self) -> Result<f64, BridgeError>
pub async fn backend_node_id(&self) -> Result<f64, BridgeError>
ElementHandle.backendNodeId
backendNodeId(): Promise<number>Trait Implementations§
Source§impl Clone for ElementHandle
impl Clone for ElementHandle
Source§impl Debug for ElementHandle
impl Debug for ElementHandle
Source§impl FromWire for ElementHandle
impl FromWire for ElementHandle
Source§fn from_wire(client: &BridgeClient, value: Value) -> Result<Self, BridgeError>
fn from_wire(client: &BridgeClient, value: Value) -> Result<Self, BridgeError>
BridgeError::Decode on a type mismatch.Source§impl PartialEq for ElementHandle
impl PartialEq for ElementHandle
Source§impl Remote for ElementHandle
impl Remote for ElementHandle
Source§fn from_remote(remote: RemoteHandle) -> Self
fn from_remote(remote: RemoteHandle) -> Self
Source§fn remote(&self) -> &RemoteHandle
fn remote(&self) -> &RemoteHandle
impl StructuralPartialEq for ElementHandle
Auto Trait Implementations§
impl !RefUnwindSafe for ElementHandle
impl !UnwindSafe for ElementHandle
impl Freeze for ElementHandle
impl Send for ElementHandle
impl Sync for ElementHandle
impl Unpin for ElementHandle
impl UnsafeUnpin for ElementHandle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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