Struct chromiumoxide::element::Element[][src]

pub struct Element {
    pub remote_object_id: RemoteObjectId,
    pub backend_node_id: BackendNodeId,
    pub node_id: NodeId,
    // some fields omitted
}

Represents a DOM Element.

Fields

remote_object_id: RemoteObjectId

The Unique object identifier

backend_node_id: BackendNodeId

Identifier of the backend node.

node_id: NodeId

The identifier of the node this element represents.

Implementations

impl Element[src]

pub async fn find_element(&self, selector: impl Into<String>) -> Result<Self>[src]

Returns the first element in the document which matches the given CSS selector.

pub async fn find_elements(
    &self,
    selector: impl Into<String>
) -> Result<Vec<Element>>
[src]

Return all Elements in the document that match the given selector

pub async fn bounding_box(&self) -> Result<BoundingBox>[src]

Returns the bounding box of the element (relative to the main frame)

pub async fn clickable_point(&self) -> Result<Point>[src]

Returns the best Point of this node to execute a click on.

pub async fn call_js_fn(
    &self,
    function_declaration: impl Into<String>,
    await_promise: bool
) -> Result<CallFunctionOnReturns>
[src]

Submits a javascript function to the page and returns the evaluated result

Example get the element as JSON object

    let js_fn = "function() { return this; }";
    let element_json = element.call_js_fn(js_fn, false).await?;

Execute an async javascript function

    let js_fn = "async function() { return this; }";
    let element_json = element.call_js_fn(js_fn, true).await?;

pub async fn json_value(&self) -> Result<Value>[src]

Returns a JSON representation of this element.

pub async fn focus(&self) -> Result<&Self>[src]

Calls focus on the element.

pub async fn hover(&self) -> Result<&Self>[src]

Scrolls the element into view and uses a mouse event to move the mouse over the center of this element.

pub async fn scroll_into_view(&self) -> Result<&Self>[src]

Scrolls the element into view.

Fails if the element’s node is not a HTML element or is detached from the document

pub async fn click(&self) -> Result<&Self>[src]

This focuses the element by click on it

Bear in mind that if click() triggers a navigation this element may be not exist anymore.

pub async fn type_str(&self, input: impl AsRef<str>) -> Result<&Self>[src]

Type the input

Example type text into an input element

    let element = page.find_element("input#searchInput").await?;
    element.click().await?.type_str("this goes into the input field").await?;

pub async fn press_key(&self, key: impl AsRef<str>) -> Result<&Self>[src]

Presses the key.

Example type text into an input element and hit enter

    let element = page.find_element("input#searchInput").await?;
    element.click().await?.type_str("this goes into the input field").await?
         .press_key("Enter").await?;

pub async fn description(&self) -> Result<Node>[src]

The description of the element’s node

pub async fn attributes(&self) -> Result<Vec<String>>[src]

Attributes of the Element node in the form of flat array `[name1, value1, name2, value2]

pub async fn attribute(
    &self,
    attribute: impl AsRef<str>
) -> Result<Option<String>>
[src]

Returns the value of the element’s attribute

pub async fn iter_attributes(
    &self
) -> Result<impl Stream<Item = (String, Result<Option<String>>)> + '_>
[src]

A Stream over all attributes and their values

pub async fn inner_text(&self) -> Result<Option<String>>[src]

The inner text of this element.

pub async fn inner_html(&self) -> Result<Option<String>>[src]

The inner HTML of this element.

pub async fn outer_html(&self) -> Result<Option<String>>[src]

The outer HTML of this element.

pub async fn string_property(
    &self,
    property: impl AsRef<str>
) -> Result<Option<String>>
[src]

Returns the string property of the element.

If the property is an empty String, None is returned.

pub async fn property(&self, property: impl AsRef<str>) -> Result<Option<Value>>[src]

Returns the javascript property of this element where property is the name of the requested property of this element.

See also Element::inner_html.

pub async fn properties(&self) -> Result<HashMap<String, PropertyDescriptor>>[src]

Returns a map with all PropertyDescriptors of this element keyed by their names

pub async fn screenshot(
    &self,
    format: CaptureScreenshotFormat
) -> Result<Vec<u8>>
[src]

Scrolls the element into and takes a screenshot of it

pub async fn save_screenshot(
    &self,
    format: CaptureScreenshotFormat,
    output: impl AsRef<Path>
) -> Result<Vec<u8>>
[src]

Save a screenshot of the element and write it to output

Trait Implementations

impl Debug for Element[src]

Auto Trait Implementations

impl !RefUnwindSafe for Element

impl Send for Element

impl Sync for Element

impl Unpin for Element

impl !UnwindSafe for Element

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,