Webdriver单击列表中的第二个元素

时间:2014-02-04 12:44:07

标签: selenium

我正在测试的页面有2个具有相同名称的元素,我需要单击第二个元素。 我可以使用以下方法获取元素:

driver.findElements(By.linkText("Services"));

但我不知道第二个元素如何click

3 个答案:

答案 0 :(得分:16)

有两种方法可以做到这一点:
1)使用xpath,尝试以下方式。

driver.findElement(By.xpath("('xpath of the link')[2]"));//If you had given html, I could have added exact xpath.

2)使用findElements(),您可以尝试以下操作:

List<WebElement> li = driver.findElements(By.linkText("Services"));;
li.get(1).click();//If there are only two such element, here 1 is index of 2nd element in list returned.

希望你能得到这个想法。 :)

答案 1 :(得分:0)

或者简称,你可以做到

driver.FindElements(By.ClassName("drop"))[1].Click();

答案 2 :(得分:0)

如果你使用的是python,你可以试试这种方式:

li = driver.findElements(By.linkText("Services"))[index].click()