import type { Client } from "webdriver"; import type { IRect } from "../models/IRect"; import type { IWebDriverElement } from "../models/IWebDriverElement"; import type { LocatorTypes } from "../models/locatorTypes"; import { BaseWebDriverElement } from "./baseWebDriverElement"; /** * Webdriver element for the Node environment. */ export declare class NodeWebDriverElement extends BaseWebDriverElement implements IWebDriverElement { /** * The reference for the element. */ private readonly _elementId; /** * Create a new instance of NodeWebDriverElement. * @param client The client to use for chromedriver calls. * @param locator The locator to use when finding the element. * @param locatorValue The value to use with the locator. * @param locatorIndex The index to use with the locator. * @param elementId The reference to the element. */ constructor(client: Client, locator: LocatorTypes, locatorValue: string, locatorIndex: number, elementId: string); /** * Get an element id from an element reference. * @param elementReference The element reference to get the element id from. * @returns The element id. */ static elementIdFromReference(elementReference: Record<"element-6066-11e4-a52e-4f735466cecf", string | undefined>): string | undefined; /** * Find an element. * @param locator The locator to use when finding the element. * @param locatorValue The value to use with the locator. * @returns The element if found. * @see https://w3c.github.io/webdriver/#dfn-find-element */ findElement(locator: LocatorTypes, locatorValue: string): Promise; /** * Find elements. * @param locator The locator to use when finding the elements. * @param locatorValue The value to use with the locator. * @returns The elements if found. * @see https://w3c.github.io/webdriver/#dfn-find-elements */ findElements(locator: LocatorTypes, locatorValue: string): Promise; /** * Send a click to an item. * @returns Nothing. * @see https://w3c.github.io/webdriver/#dfn-element-click */ click(): Promise; /** * Send keys to an element. * @param keys The keys to send to the element. * @returns Nothing. * @see https://w3c.github.io/webdriver/#dfn-element-send-keys */ sendKeys(keys: string): Promise; /** * Get the text for an element. * @returns The text. * @see https://w3c.github.io/webdriver/#dfn-get-element-text */ getText(): Promise; /** * Is the element enabled. * @returns True if the element is enabled. * @see https://w3c.github.io/webdriver/#dfn-is-element-enabled */ isEnabled(): Promise; /** * Is the element displayed. * @returns True if the element is displayed. * @see https://w3c.github.io/webdriver/#element-displayedness */ isDisplayed(): Promise; /** * Is the element selected. * @returns True if the element is selected. * @see https://w3c.github.io/webdriver/#dfn-is-element-selected */ isSelected(): Promise; /** * Take a screenshot of the element. * @returns Returns a base64 encoded png. * @see https://w3c.github.io/webdriver/#dfn-take-element-screenshot */ screenshot(): Promise; /** * Execute JavaScript in the window. * @param script The script to execute. * @param args Arguments to pass to the async script. * @returns The response from the execute. * @see https://w3c.github.io/webdriver/#dfn-execute-async-script */ executeAsyncScript(script: string, args?: (string | object | number | boolean | undefined)[]): Promise; /** * Get the element rectangle. * @returns The size and position of the element. */ rect(): Promise; /** * Get the native element. * @returns The native element for the driver. */ nativeElement(): Record<"element-6066-11e4-a52e-4f735466cecf", string>; }