是否有一个selenium cssSelector相当于获得“第n”匹配元素?

时间:2015-08-17 10:52:33

标签: jquery selenium selenium-webdriver css-selectors

以下是我的示例jQuery,它返回页面上的10个匹配元素:

$('input.text-form-field');

由于我只需要第3个元素,因此我使用了以下内容并且工作正常:

$('input.text-form-field').get(2);

有人可以建议一个适当的selenium cssSelector相当于实现相同的结果吗?

只需使用

By.cssSelector("input.text-form-field")

将失败,因为它与页面上的10个元素匹配!

非常感谢这方面的任何帮助。

2 个答案:

答案 0 :(得分:1)

我不认为这可以使用CSS选择器完成,但你可以使用XPath来完成。

By.XPath("(//input[@class=\"text-form-field\"])[2]")

答案 1 :(得分:1)

你可以做这样的事情

List<WebElement> elements = driver.findElements(By.className("text-form-field"));
for (WebElement element : elements) 
{
element.click(); // iterate or do get(2) for third element
}