from typing import Any

from selenium.common.exceptions import WebDriverException as WebDriverException
from selenium.webdriver.common.by import By as By

from .command import Command as Command

getAttribute_js: Any
isDisplayed_js: Any

class WebElement:
    def __init__(self, parent, id_, w3c: bool = ...) -> None: ...
    @property
    def tag_name(self): ...
    @property
    def text(self): ...
    def click(self) -> None: ...
    def submit(self) -> None: ...
    def clear(self) -> None: ...
    def get_property(self, name): ...
    def get_attribute(self, name): ...
    def is_selected(self): ...
    def is_enabled(self): ...
    def find_element_by_id(self, id_): ...
    def find_elements_by_id(self, id_): ...
    def find_element_by_name(self, name): ...
    def find_elements_by_name(self, name): ...
    def find_element_by_link_text(self, link_text): ...
    def find_elements_by_link_text(self, link_text): ...
    def find_element_by_partial_link_text(self, link_text): ...
    def find_elements_by_partial_link_text(self, link_text): ...
    def find_element_by_tag_name(self, name): ...
    def find_elements_by_tag_name(self, name): ...
    def find_element_by_xpath(self, xpath): ...
    def find_elements_by_xpath(self, xpath): ...
    def find_element_by_class_name(self, name): ...
    def find_elements_by_class_name(self, name): ...
    def find_element_by_css_selector(self, css_selector): ...
    def find_elements_by_css_selector(self, css_selector): ...
    def send_keys(self, *value) -> None: ...
    def is_displayed(self): ...
    @property
    def location_once_scrolled_into_view(self): ...
    @property
    def size(self): ...
    def value_of_css_property(self, property_name): ...
    @property
    def location(self): ...
    @property
    def rect(self): ...
    @property
    def screenshot_as_base64(self): ...
    @property
    def screenshot_as_png(self): ...
    def screenshot(self, filename): ...
    @property
    def parent(self): ...
    @property
    def id(self): ...
    def __eq__(self, element): ...
    def __ne__(self, element): ...
    def find_element(self, by=..., value: Any | None = ...): ...
    def find_elements(self, by=..., value: Any | None = ...): ...
    def __hash__(self): ...
