findElement(By) 和 findElementBy() 有什么区别?
What is the difference between findElement(By) & findElementBy()?
WebElement p1 = (new FirefoxDriver()).findElement(By.xpath("//div[@class = 'site-title']")) ;
WebElement p2 = (new FirefoxDriver()).findElementByXPath("//div[@class = 'site-title']") ;
我正在做同样的事情:我通过 xpath select 元素,但在第一行,我使用 findElement(By.xpath)
和第二行我使用 whole expression findElementByXpath.
而且我仍然使用相同的 firefox 驱动程序对象!
这是因为 By. 是接口并且访问方式不同吗?
根据 selenium java 绑定的源代码,findElementByXPath()
基本上只是 快捷方式 到 findElement(By.xpath, ...)
:
public WebElement findElementByXPath(String using) {
return findElement("xpath", using);
}
findElement() 方法 -
从网页中识别一个元素(文本字段、标签等)
WebElement p1 = (new FirefoxDriver()).findElement(By.xpath("//div[@class = 'site-title']")) ;
findElements() 方法 -
识别网页中的多个元素,例如 table 行和列
List<WebElement> p1List = (new FirefoxDriver()).findElements(By.xpath("//div[@table='divTableData']")) ;
WebElement p1 = (new FirefoxDriver()).findElement(By.xpath("//div[@class = 'site-title']")) ;
WebElement p2 = (new FirefoxDriver()).findElementByXPath("//div[@class = 'site-title']") ;
我正在做同样的事情:我通过 xpath select 元素,但在第一行,我使用 findElement(By.xpath)
和第二行我使用 whole expression findElementByXpath.
而且我仍然使用相同的 firefox 驱动程序对象!
这是因为 By. 是接口并且访问方式不同吗?
根据 selenium java 绑定的源代码,findElementByXPath()
基本上只是 快捷方式 到 findElement(By.xpath, ...)
:
public WebElement findElementByXPath(String using) {
return findElement("xpath", using);
}
findElement() 方法 - 从网页中识别一个元素(文本字段、标签等)
WebElement p1 = (new FirefoxDriver()).findElement(By.xpath("//div[@class = 'site-title']")) ;
findElements() 方法 - 识别网页中的多个元素,例如 table 行和列
List<WebElement> p1List = (new FirefoxDriver()).findElements(By.xpath("//div[@table='divTableData']")) ;