【问题标题】:Selenium - Difference between WebDriver.findElement() and WebElement.findElement()Selenium - WebDriver.findElement() 和 WebElement.findElement() 之间的区别
【发布时间】:2015-01-09 01:08:08
【问题描述】:

我使用WebElement.findElement(By.cssSelector('')).click();在页面上查找元素,但它返回"Unable to locate element",但是当我使用WebDriver.findElement(By.cssSelector('')).click();时,它能够找到该元素并单击它。

我无法理解这两个接口的findElement() 之间的区别。 请帮助。

【问题讨论】:

  • 那些建议编辑的人......你能不能也提出一些不同的建议! :P
  • WebElementWebDriver 是包含要被实现它们的类覆盖的抽象方法的接口。你使用它们的方式没有意义。您能否提供您用于实现上述内容的代码?

标签: java testing selenium


【解决方案1】:

WebElement.findElement() 将使用该元素作为搜索选择器的范围。这意味着它通常用于搜索子元素。

WebDriver.findElement() 将使用驱动程序(即整个页面)来搜索您给定的选择器。

因此,特别是对于您的实例(我们需要更多信息才能更准确地计算出来),您的选择器很可能与您给定的WebElement 的子项不匹配,但是当@987654324 @尝试在整个页面(不包括iframe)中搜索它,它可以找到它。

【讨论】:

    【解决方案2】:

    WebDriver 代表您的浏览器,WebElement 代表网页上存在的各个元素。为了更好地理解,您能否提供您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2014-05-18
      • 2014-02-18
      • 2017-03-17
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      相关资源
      最近更新 更多