如何为下面的情况编写xpath

时间:2017-05-18 15:53:20

标签: selenium testing xpath

我有图片中突出显示的元素:

enter image description here

列表的xpath是//div[@class='list-group formsFilteredList']//a[@class='list-group-item'],但我需要a标记的文本。其中的文本是动态变化的。所以我不能使用text contains方法

2 个答案:

答案 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());
    }