2014-10-20 144 views
1

我是Selenium中的新成员,我不知道是否有通过javascript或onclick方法进行搜索的方法。Selenium WebDrive - 通过Javascript或onclick查找元素

我有以下的HTML

... 
<td> 
<input id="Disable" class="buttons" type="button" name="Disable" onclick="javascript:actionPost('Edit', '1')" value="Disable"> 
</td> 
<td> 
<input id="Edit" class="buttons" type="button" name="Edit" onclick="javascript:actionPost('Edit', 'LDAP_Test')" value="Edit"> 
</td> 
.... 

唯一的区别是在JavaScript命令。第一个命令带有参数“1”,第二个带有“LDAP_Test”。

我该怎么说才能让Selenium点击第二个按钮。我无法更改HTML文件。它应该照原样使用。

在此先感谢。

回答

0

那么,因为它有一个ID,你不需要匹配onclick属性。你可以这样做:

driver.findElement(By.cssSelector("input#Edit")).click(); 

或者,如果ID确实是动态的,你可以匹配的onclick属性:

driver.findElement(By.cssSelector("input[onclick*='actionPost'][onclick*='LDAP_Test']")).click(); 
+0

太谢谢你了。这解决了我的问题。 – takov 2014-10-20 14:30:15