如何判断点击了哪个按钮?

时间:2011-07-15 10:53:00

标签: java selenium button

我有一个包含一些条目(名称)的表。在每个名称我都有“编辑”按钮。我的问题是,所有编辑按钮都具有相同的ID。

您知道如何点击表格中10人的编辑按钮吗?

3 个答案:

答案 0 :(得分:3)

我们使用Selenium遇到了相关问题,不同之处在于我们不知道启用Ajax的组件的id属性的值。那是因为我们使用Wicket,它会在这种情况下生成动态ID。

我所做的是让Wicket添加名称属性,并让Selenium选择此属性而不是id。

答案 1 :(得分:0)

您可以使用CSS选择器并使用nth-child属性。例如,在stackoverflow主页面上,您可以使用以下CSS选择器选择第二个问题:

.container .question-summary:nth-child(2)

您也可以使用XPath。相同元素的XPath将是:

//div[@class='question-summary']/div[2]

答案 2 :(得分:0)

首先,如果每个按钮都有相同的ID,则根据HTML规范这是错误的。每个ID对于页面应该是唯一的。如果你不能使它独特,你应该删除ID。

您需要的声音可以通过使用XPATH来实现。

例如,您可以使用以下内容:

//table[@class='myTableClass']/tr[10]/td[4]/input

如果您要搜索特定值,可以使用“包含”:

//table[@class='myTableClass']//td[contains(., 'ABC')]../td[5]

这样做是搜索值为ABC的表格单元格,然后选择该单元格的父级(该行),然后选择该行的第5个单元格。你可以用Xpath做很多事情。

有关Xpath的更多信息,请参阅例如Xpath tutorial here