selenium.webdriver.remote.webelement

1. class selenium.webdriver.remote.webelement.WebElement(parent, id_, w3c=False)

表示 DOM 元素。

通常,与页面交互的所有操作都将通过此接口执行。

所有方法调用都将进行新鲜度检查,以确保元素引用仍然有效。

这基本上决定了元素是否仍然附加到 DOM。如果此测试失败,则 抛出 StaleElementReferenceException,并且将来对此实例的所有调用都将失败。

1.1. clear()

如果文本是文本输入元素,则清除文本。

1.2. click()

单击元素。

1.3. find_element(by='id', value=None)¶

找到给定 By 策略和定位器的元素。尽可能优先使用 find_element_by_* 方法。

  • 用法:element = element.find_element(By.ID, 'foo')

  • 返回类型:WebElement

1.4. find_element_by_class_name(name)

查找此元素的子元素按 class name.

  • 参数

    • name: 要查找的元素的类名
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_class_name('foo')

1.5. find_element_by_css_selector(css_selector)

查找此元素的子元素按 CSS selector.

  • 参数

    • css_selector - CSS 选择器字符串,例如:'a.nav#home'
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_css_selector('#foo')

1.6. find_element_by_id(id_)

查找此元素的子元素按 ID.

  • 参数

    • id_ - I 要查找的子元素的 ID
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:foo_element = element.find_element_by_id('foo')

1.7. find_element_by_link_text(link_text)

查找此元素的子元素按可见 link text.

  • 参数

    • link_text - 要搜索的链接文本字符串。
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_link_text('Sign In')

1.8. find_element_by_name(name)

查找此元素的子元素按 name.

  • 参数

    • name - 要查找的元素的 name 属性
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_name('foo')

1.9. find_element_by_partial_link_text(link_text)

查找此元素的子元素按部分可见 link text.

  • 参数

    • link_text: 要部分匹配的元素的文本
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_partial_link_text('Sign')

1.10. find_element_by_tag_name(name)

查找此元素的子元素按 tag name.

  • 参数

    • name - html 标记的名称 (eg: h1, a, span)
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_tag_name('h1')

1.11. find_element_by_xpath(xpath)

通过 xpath 查找元素

  • 参数

    • xpath - 要定位的元素的 xpath。 "//input[@class='myelement']"

注意: 基本路径将相对于此元素的位置。

这将选择此元素下的第一个链接。

myelement.find_element_by_xpath(".//a")

但是,这将选择页面上的第一个链接。

myelement.find_element_by_xpath("//a")
  • 返回

    • WebElement - 如果找到元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = element.find_element_by_xpath('//div/td[1]')

1.12. find_elements(by='id', value=None)

查找按策略和定位器给出的元素。尽可能优先使用 find_elements_by_* 方法。

  • 用法:element = element.find_elements(By.CLASS_NAME, 'foo')

  • 返回类型:WebElement 列表

1.13. find_elements_by_class_name(name)

查找此元素的子元素中的元素列表,通过 class name.

  • 参数

    • name: 要查找的元素的类名
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_class_name('foo')

1.14. find_elements_by_css_selector(css_selector)

查找此元素的子元素中的元素列表,通过 CSS selector.

  • 参数

    • css_selector - CSS 选择器字符串,例如: 'a.nav#home'
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_css_selector('.foo')

1.15. find_elements_by_id(id_)

查找此元素的子元素中的元素列表,通过 ID。

  • 参数

    • id_ - 要查找的子元素的 ID
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_id('foo')

1.16. find_elements_by_link_text(link_text)

查找此元素的子元素中的元素列表,通过可见 link text.

  • 参数

    • link_text - 要搜索的链接文本字符串。
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_link_text('Sign In')

1.17. find_elements_by_name(name)

按名称查找此元素的子元素中的元素列表

  • 参数

    • name - 要搜索的 name 属性
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_name('foo')

1.18. find_elements_by_partial_link_text(link_text)

查找此元素的子元素中的元素列表,通过 partial link text.

  • 参数

    • link_text: 要部分匹配的元素的文本
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_partial_link_text('Sign')

1.19. find_elements_by_tag_name(name)

查找此元素的子元素中的元素列表,通过 tag name.

  • 参数

    • name - html 标记的名称 (eg: h1, a, span)
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_tag_name('h1')

1.20. find_elements_by_xpath(xpath)

通过 xpath 查找元素中的元素列表

  • 参数

    • xpath - xpath 定位器字符串

    注意: 基本路径将相对于此元素的位置

    这将选择此元素下的所有链接

    myelement.find_elements_by_xpath(".//a")
    

    但是,这将选择页面本身中的所有链接。

    myelement.find_elements_by_xpath("//a")
    
  • 返回

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = element.find_elements_by_xpath("//div[contains(@class, 'foo')]")

1.21. get_attribute(name)

获取元素的给定属性或属性值。

此方法将首先尝试返回具有给定名称的属性的值。如果不存在具有该名称的属性,则返回具有相同名称的属性的值。如果没有具有该名称的属性,则返回 None。

被视为真实的值,即等于TrueFalse,将作为布尔值返回。所有其他非 None 值将作为字符串返回。对于不存在的属性或属性, 返回 None。

  • 参数

    • name - 要检索的属性 / 属性的名称
  • 举例:

    # 检查 "active" CSS 类是否应用于元素
    
    is_active = "active" in target_element.get_attribute("class")
    

1.22. get_property(name)

获取元素的给定属性

  • 参数

    • name - 要检索的属性的名称
  • 举例:

    text_length = target_element.get_property("text_length")
    

1.23. id

selenium 内部使用 ID

这主要供内部使用。简单的用例,例如检查 2 个 webelements 是否引用相同的元素,可以使用 == 来完成:

if element1 == element2:
  print("These 2 are equal")

1.24. is_displayed()

元素是否对用户可见。

1.25. is_enabled()

返回元素是否已启用。

1.26. is_selected()

返回是否选中元素。

可用于检查是否选中了复选框或单选按钮。

1.27. location

可渲染画布中元素的位置。

1.28. location_once_scrolled_into_view

这个属性可以在没有警告的情况下改变。用这个来发现屏幕上的一个元素是什么,这样我们就可以点击它。这种方法应该使元素被滚动到视图中。

返回屏幕上的左上角位置,如果元素不可见,则返回 None。

1.29. parent

找到此元素的 WebDriver 实例的内部引用

1.30. rect

包含元素大小和位置的字典

1.31. screenshot(filename)

将当前元素的屏幕截图保存到 PNG 图像文件。

如果存在任何 IOError 则返回 false,否则返回 True。在文件名中使用完整路径。

  • 参数

    • filename: 希望将屏幕截图保存到的完整路径。这应该以 .png 扩展名结尾。
  • 用法:element.screenshot('/Screenshots/foo.png')

1.32. screenshot_as_base64

获取当前元素的屏幕截图作为 base64 编码的字符串

  • 用法:img_b64 = element.screenshot_as_base64

1.33. screenshot_as_png

获取当前元素的屏幕截图作为二进制数据

  • 用法:element_png = element.screenshot_as_png

1.34. send_keys(*value)

模拟键入元素

  • 参数

    • value - 用于键入或设置表单字段的字符串。对于设置文件输入,这可以是本地文件路径。

使用此命令发送简单的键事件或填写表单字段:

form_textfield = driver.find_element_by_name('username')
form_textfield.send_keys("admin")

这也可用于设置文件输入

file_input = driver.find_element_by_name('profilePic')
file_input.send_keys("path/to/profilepic.gif")

# 通常,最好将文件路径包装在操作系统中的一个方法中。
# 返回实际路径以支持交叉操作系统测试的路径。
# file_input.send_keys(os.path.abspath("path/to/profilepic.gif"))

1.35. size

元素的大小

1.36. submit()

提交表单

1.37. tag_name

此元素的 tagName 属性

1.38. text

元素的文本

1.39. value_of_css_property(property_name)

CSS 属性的值

© 2020 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""