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']")) ;