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();
但点击()没有发生。
试图driver.findElement(By.cssSelector() “按钮[值=搜索]。”)点击();
试过价值=“搜索”(单引号)。
这些选择在工作
.button[value=Search] {
padding: 10px;
}
input[value=Search] {
padding: 10px;
}
我会注入一块JS的是解决此问题的信心:
首先,使用DOM(验证萤火)定位元件:
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( '输入')[0],document.getElementsByTagName( '输入') 1 ,document.getElementsByTagName( '输入')[2] ....等你将能够定位你的元素。
希望这可以帮助你。 问候。
请使用下面的代码。
driver.findElement(By.cssSelector( “输入[值= \” 搜索\ “]”))点击();
这个对我有用。 并确保该名称是“搜索”,怎么把它是区分大小写。
谢谢
你确定使用这个CSS选择器( input[value=Search]
你的页面只有一个结果上)?
单引号中丢失了你的代码中,[数值=搜索]应为[value =“搜索”]被替换。
首先你要检查如果u使用的是选择将工作或不..
如果您使用的镀铬或FF,您可以按照这些步骤,
走到哪里按钮(被点击)存在的页面,
在以下开放Web控制台和类型,点击进入..
$( “输入[值= '搜索']”)
要么
$("input[value='Search'][type='button']")
要么
$("input[value='Search'][type='button'].button")
你会得到可使用此选择访问元素的列表,如果该列表仅包含一个元素(按钮,你要点击),那么这个选择是有效的为您use..otherwise u'l不得不尝试一些其他的选择..
如果上述任何选择的是有效的,u'l必须相应地改变你的代码..
driver.findElement(By.cssSelector("input[value='Search'][type='button'].button")).click();