HTML
<input class="button" type="button" onclick="$.reload('results')" value="Search">我不知道它的id和名字。因此我在写
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://....");
driver.findElement(By.cssSelector("input[value=Search]")).click();但是click()并没有发生。
试用过driver.findElement(By.cssSelector(".buttonvalue=Search")).click();
尝试值=‘搜索’(单引号)。
这些选择器在
.button[value=Search] {
padding: 10px;
}
input[value=Search] {
padding: 10px;
}发布于 2012-10-24 20:49:50
为了有信心解决这个问题,我会注入一段js:
首先使用DOM定位元素(在firebug中验证):

public void jsClick(){
JavascriptExecutor js = (JavascriptExecutor) driver;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("document.getElementsByTagName('button')[0].click();");
js.executeScript(stringBuilder.toString());
}
jsClick();从你的元素回顾来看,它是这样的:
....
stringBuilder.append("document.getElementsByTagName('input')[0].click();");
....请注意:document.getElementsByTagName('input')会返回一个DOM元素数组。并正确地索引它,例如document.getElementsByTagName('input'),document.getElementsByTagName('input')1,document.getElementsByTagName('input')2....等,您将能够找到您的元素。
希望这对你有帮助。致以问候。
发布于 2013-10-16 17:53:01
请使用以下代码。
driver.findElement(By.cssSelector("inputvalue=\"Search\"")).click();
这对我很管用。并确保名称为"Search",因为它区分大小写。
谢谢
发布于 2012-11-01 21:35:20
你确定在你的页面上使用这个CSS选择器(input[value=Search])只有一个结果吗?
https://stackoverflow.com/questions/13040719
复制相似问题