我有图片中突出显示的元素:
列表的xpath是//div[@class='list-group formsFilteredList']//a[@class='list-group-item']
,但我需要a
标记的文本。其中的文本是动态变化的。所以我不能使用text contains
方法
答案 0 :(得分:3)
试试这个:
//div[@class='list-group formsFilteredList']//a[@class='list-group-item']/text()
答案 1 :(得分:0)
您可以按类名而不是xpath找到元素,但是有几个元素具有相同的类名,因此您可以做的是将元素放入列表并从那里使用它们:
List<WebElement> lstElements = driver.findElements(By.className("list-group-item"));
然后,如果您知道要使用的元素在列表中的哪个位置,则可以指定索引。例如,如果您要单击列表中的第二项,请执行以下操作:
lstElements.get(1).click();
如果您想依次对每个项目执行某些操作,请在for循环中迭代它们:
for (int i = 0; i < lstElements.size(); i++ ) {
System.out.println("List item text: " + lstElements.get(i).getText());
}