Selenium: Is there a performance difference between By.Id("myelement") and By.Css("#myelement")? Selenium: Is there a performance difference between By.Id("myelement") and By.Css("#myelement")? selenium selenium

Selenium: Is there a performance difference between By.Id("myelement") and By.Css("#myelement")?


By.cssSelector() is faster than By.id().

The method to find elements using By.id() actually utilizes xpath:

    @Override    public List<WebElement> findElements(SearchContext context) {      if (context instanceof FindsById)        return ((FindsById) context).findElementsById(id);      return ((FindsByXPath) context).findElementsByXPath(".//*[@id = '" + id          + "']");    }    @Override    public WebElement findElement(SearchContext context) {      if (context instanceof FindsById)        return ((FindsById) context).findElementById(id);      return ((FindsByXPath) context).findElementByXPath(".//*[@id = '" + id          + "']");    }

Where as By.cssSelector uses the CSS engine. CSS is faster than xpath, ergo, By.cssSelector will operate faster than By.id