小编典典

selenium-WebDriver.findElement()和WebElement.findElement()之间的区别

selenium

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

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


阅读 418

收藏
2020-06-26

共1个答案

小编典典

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

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

因此,特别是对于您的实例(我们将需要更多信息才能更准确地弄清楚它),很可能是您的选择器不匹配给定子代的任何子元素WebElement,但是当您driver尝试在整个实例中进行搜索时页(不包括iframe),就可以找到它。

2020-06-26