package jp.vmi.selenium.selenese.locator; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; class CSSHandler implements LocatorHandler { @Override public String locatorType() { return "css"; } @Override public List<WebElement> handle(WebDriver driver, String arg) { return driver.findElements(By.cssSelector(fixCssSelector(arg))); } private String fixCssSelector(String cssSelector) { /* * Selenium IDE records in some cases invalid css selectors which gets fixed once executed by the IDE * Example: * css=div.tag-1. > div.col-md-12 > div.form-group > div.col-md-5 > div.bootstrap-tagsinput > input[type="text"] * needs to be * css=div.tag-1 > div.col-md-12 > div.form-group > div.col-md-5 > div.bootstrap-tagsinput > input[type="text"] */ return cssSelector.replace(". ", " "); } }