我想获得一个webelements列表,我为此编写了一个公共xpath
来检索所有的webelements。问题是该列表包含一个webelement,我在代码中并不需要。
List<WebElement> tbodyTD2 = InitDriver.driver.findElements(By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr/td"));
这给了我9个小元素。其中8个是必需的。
在我的列表中我不想要的webelement的xpath
是:
.//*[@id='addBrandTbl']/td/table/tbody/tr[3]/td
有没有办法写我的xpath
以便我可以获得一个不包含上述元素的列表?
答案 0 :(得分:2)
您可以编写一个XPath谓词来排除某个位置索引中的元素:
By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr[position() != 3]/td")
答案 1 :(得分:1)
您可以从列表中删除此元素
tbodyTD2.remove(3);
答案 2 :(得分:1)
Try this one
List<WebElement> webElements = driver.findElements(By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr/td"));
List requiredElementsList=new ArrayList();
for (WebElement element : webElements) {
if (!element.equals("unwantedWlement")) {
requiredElementsList.add(element);
}
}
答案 3 :(得分:0)
GOT
xpath:// tr [@ id ='addBrandTbl'] / td / table / tbody / tr / td [not(@colspan)]