Right now, WebDriver supports XPath and CSS locators, but they are not still as powerful as Sizzle locators.
Implementation of this feature is very easy, as you can see here:
The only what needs to be done is injecting Sizzle to the page (using Page Extensions feature) and then execute script - WebDriver will automatically return List<WebElement> if script return value will be evaluated as WebDriver element.
The problem comes with supporting By.* and @FindBy.
I propose to
- wrap all By. in Graphene.
- introduce Graphene.jq
- introduce @FindByJQ(String)