我在使用Java和Spring编写Selenium测试时遇到了问题。
我需要Selenium点击包含多个删除按钮(文件列表)的页面上的删除按钮。使用Selenium IDE生成以下代码
selenium.click( “链接=删除”);
基本没用。我无法弄清楚如何定位表中包含的特定元素。这是来源:
<tr onmouseover="mouseOver(this)" onmouseout="mouseOut(this)">
<td class="thumbnail" align="center"><img src="/services/images/nav/resources.gif" /></td>
<td colspan="3" onClick="nav('FileName'); return false">
<a href="javascript:nav('FileName')">Basics</a></td>
<td>
<a class="actionButton" href="javascript:del('FileName')">Delete</a></td>
<td> </td>
</tr>
我需要 a)找到一种方法来返回正确的删除操作的xpath或 b)通过java代码发送javascript命令本身。我无法弄清楚如何做到,任何人都可以指出我正确的方向吗?
答案 0 :(得分:3)
“文件名”部分是唯一的吗?
如果是这样,适当的XPath将是:
selenium.click("//a[@href=\"javascript:del('FileName')\"")
另外,您是否单击了Selenium IDE中的第一个删除链接?如果是这样,请尝试点击其中一个,然后看看它是什么。
答案 1 :(得分:0)
这个firefox扩展名为XPath Checker。您可以在firefox中打开html源代码,然后根据需要获取XPath。但是,我记得在Selenium中没有正常工作的一些XPath表达式存在问题。
答案 2 :(得分:0)
如果它是一个工具来找出你所追求的按钮的xpath,那么有各种选择:
答案 3 :(得分:0)
我偏向于将CSS用于Selenium标识符有两个原因 -
话虽如此,限制是具有相同名称的多个元素应该具有可区分的属性。
在您的源代码中,带有CSS标识符的Selenium命令将显示为:
selenium.click("css=a.actionButton[href=javascript:del('FileName')]");
如果确实href属性提供了其他删除按钮之间的区别