我在网页中有两个元素,在同一个表结构中具有相同的链接文本。我必须忽略第一个元素,并且如果存在则每次都选择第二个元素。 但问题是每次选择第一个元素的硒,我如何选择第二个元素而不是第一个元素(忽略第一个元素)?
我不能使用Linktext以外的任何东西来识别使用selenium的元素,这就是约束。
答案 0 :(得分:3)
当元素具有相同的链接文本或具有相同的loactors时,在Java中存在一个集合,即List 创建一个具有这种场景的webelements列表,然后通过索引你可以访问元素。
List<WebElement> list1 = driver.findElements(By.linkText("Services"));
for(int i=0;i<list1.size();i++)
{
System.out.println(i+" "+list1.getText());
//this can be used incase number of elements is more and no time to count there index
}
list1.get(1).click();
答案 1 :(得分:1)
这里是通过链接文本获取第二个元素,我使用集合类来存储所有相同类型的元素。
List<WebElement> li = driver.findElements(By.linkText("Services"));;
li.get(1).click();