当前位置: 首页 > 知识库问答 >
问题:

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

左丘嘉木
2023-03-14

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

我知道文档中提到了返回类型是Webelment,但有人能解释一下为什么返回类型是Webelment吗。

我对这个话题的研究。

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

请让我知道我的想法是否正确或有任何具体原因

共有1个答案

孔嘉茂
2023-03-14

你看得对。根据Java文档,findElement()方法返回一个Webelment。

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

当然,答案是您需要(以某种方式)与元素交互,该元素可能是以下任一元素:

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

您正在搜索Web元素,您可以选择:

  • 断言WebElement条件(isDisplayed()isEnabled()

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

  • 清除()
  • 单击()
  • findElement(by)
  • findElements(by)
  • ######################################################################################################
  • getCssValue(java.lang.字符串属性名)
  • 获取位置()
  • getsize()
  • getTagName()
  • getText()
  • 显示()
  • 启用()
  • 是选择()
  • sendKeys(java.lang.CharSequence...
  • 提交()

如果findElement()的返回类型是布尔值(根据您的注释更新),则调用以下任何方法()都是不可能的。

 类似资料:
  • 我读过这篇文章:java中arrays.aslist(array)与新arraylist (arrays.aslist(ia))之间的差异 当然,包装器上不允许一些列表操作,比如从列表中添加或删除元素,您只能读取或覆盖元素。 如果list2有List接口的引用,我期望它用Java实现List接口中包含的所有方法。https://docs.oracle.com/javase/7/docs/api/j

  • 问题内容: 我在某处读到,函数应始终仅返回一种类型,因此以下代码被视为错误代码: 我想更好的解决方案是 返回None然后创建一个新的空元组不是更便宜的内存明智的选择吗?或者即使在较大的项目中,这种时差也太小而无法引起注意? 问题答案: 为什么函数应该返回一致类型的值?满足以下两个规则。 规则1-函数具有“类型”-输入映射到输出。它必须返回一致的结果类型,否则它不是函数。一团糟。 从数学上讲,我们说

  • 问题内容: Java中的协变返回类型是什么?在一般的面向对象编程中? 问题答案: 协变返回,意味着当一个方法被覆盖时,覆盖方法的返回类型被允许为覆盖方法的返回类型的子类型。 为了举例说明,通常情况是-声明为返回类型。你可以在自己的类中重写此方法,如下所示: 这样做的好处是,任何持有对MyFoo对象的显式引用的方法都将能够调用clone()并知道(无需强制转换)返回值是的实例。如果没有协变量返回类型

  • 问题内容: 例如,在以下代码中 返回类型之前的目的是什么(该行的作用或如何读取) 问题答案: 这是使您的 方法 (而不是 类 )通用的语法。 常规类和泛型类的方法可以根据其自身的类型参数进行泛型。在这种情况下,您的方法是on的通用方法,它必须是从扩展的类型。

  • 如果网页上的JavaScript返回非十进制值,那么什么将是否将返回? 有人能回答这个问题吗?

  • 当我尝试使用webDriver搜索一个或多个元素时,它不会返回任何结果。操作系统:Ubuntu 14.04,框架:Intellij Idea,语言:Java。 我有以下声明: 并前往: 所有这些都有效。但当我宣布: 然后访问myElements如下: myElements为空,因为findElements似乎失败了,还有findElement(webElement)(使用后者,我将List更改为常