为什么返回类型的findElement(By by)是WebElement?

时间:2018-03-17 18:18:34

标签: java selenium selenium-webdriver webdriver

为什么返回类型的findElement(By by)是WebElement?

我知道它在文档中提到返回类型是Webelment,但任何人都可以解释一下为什么返回类型是Webelment。

我对此主题的研究

因为我们使用findElement搜索元素,而webelement类用于表示HTML元素。

请告诉我如果我正确或有任何具体原因

1 个答案:

答案 0 :(得分:1)

你看对了。根据 Java Docs findElement()方法返回 Webelment

要回答您的问题为什么返回类型是Webelment ,您的反问题将是为什么要找到该元素?

粗略的答案是你需要以某种方式与交互元素,这可能是以下任何一种:

  • 标题
  • 文字字段
  • 密码字段
  • 按钮
  • 选择元素

您正在搜索 WebElement ,因为您要:

  • 断言WebElement条件(isDisplayed()isEnabled())。
  • 与之互动(click()sendKeys())。
  • 检索其任何属性。 (getAttribute()getCssValue()
  • 等待 WebElement 处于特定状态(isSelected())。

因此,出于上述任何一个原因,您需要获取通过 findElement(By by)传递的 WebElement 的引用,如果您的搜索成功,则确切< em> WebElement 将被退回。现在,您可以根据可行性调用 WebElement 上的任何登记methods(),如下所示:

  • clear()
  • click()
  • findElement(By by)
  • findElements(By by)
  • getAttribute(java.lang.String name)
  • getCssValue(java.lang.String propertyName)
  • getLocation()
  • getSize()
  • getTagName()
  • getText()
  • isDisplayed()
  • isEnabled()
  • isSelected()
  • sendKeys(java.lang.CharSequence... keysToSend)
  • submit()

如果 findElement()的返回类型为布尔,则无法调用以下任何methods()(根据您的评论更新)。