click() on css Selector not working in Selenium webdriver
button, click, css-selectors, selenium, webdriver
Solution
i would inject piece of js to be confident in resolving this issue:
first of all locate element using DOM (verify in firebug):
public void jsClick(){
JavascriptExecutor js = (JavascriptExecutor) driver;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("document.getElementsByTagName('button')[0].click();");
js.executeScript(stringBuilder.toString());
}
jsClick();
from the retrospective of your element it be like:
....
stringBuilder.append("document.getElementsByTagName('input')[0].click();");
....
Please, note: `document.getElementsByTagName('input')` returns you an array of DOM elements. And indexing it properly e.g. document.getElementsByTagName('input')[0], document.getElementsByTagName('input')1, document.getElementsByTagName('input')[2].... ,etc you will be able to locate your element.
Hope this helps you. Regards.
Problem
HTML ``` <input class="button" type="button" onclick="$.reload('results')" value="Search"> ``` I don't have an id or name for this . Hence am writing ``` FirefoxDriver driver = new FirefoxDriver(); driver.get("http://...."); driver.findElement(By.cssSelector("input[value=Search]")).click(); ``` But click() is not happening. Tried driver.findElement(By.cssSelector(".button[value=Search]")).click(); Tried value='Search' (single quotes). these Selectors are working in ``` .button[value=Search] { padding: 10px; } input[value=Search] { padding: 10px; } ```