以下是我的示例jQuery,它返回页面上的10个匹配元素:
$('input.text-form-field');
由于我只需要第3个元素,因此我使用了以下内容并且工作正常:
$('input.text-form-field').get(2);
有人可以建议一个适当的selenium cssSelector相当于实现相同的结果吗?
只需使用
By.cssSelector("input.text-form-field")
将失败,因为它与页面上的10个元素匹配!
非常感谢这方面的任何帮助。
答案 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
}