1

我试图自动化的页面在不同级别有 n 个相同的按钮。这 n 个按钮具有相同的属性。可以说,如果我想点击第二个,我怎么能使用 webdriver 和 CSS 来做到这一点,谢谢。

4

2 回答 2

2

例如说唯一属性是 class='custom_button' 你可以使用

List <WebElement> custButtons = driver.findElements(By.className("custom_button"));
custButtons.get(2).click();

这将单击页面上类名“custom_button”的第三个按钮。

于 2012-12-20T09:38:32.380 回答
1

Prashant Shukla 有正确的答案。


无论如何,如果您想使用单个命令在一行上执行此操作:

我不知道如何使用单个 CSS 选择器来做到这一点(即使是伪选择器:nth-child()也不允许这样做)。但有人可能知道答案。我可以建议的是一个 XPath 选择器。诀窍是使用descendant轴。

例如,如果您想选择<a class='post-tag'>页面上的第二个元素(恰好是webdriver此页面上的标签 :)),无论其他任何事情,您都可以这样做:

driver.findElement(By.xpath("/descendant::a[@class='post-tag'][2]"));
于 2012-12-20T09:39:10.500 回答