2017-05-16 30 views
1

我想獲取我編寫普通xpath的webelements列表以檢索所有webelements。問題是該列表包含一個webelement,我不需要在我的代碼中。如何使用條件編寫xpath以獲取我需求的所需webelements列表

List<WebElement> tbodyTD2 = InitDriver.driver.findElements(By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr/td")); 

哪個返回9個webelements。其中8個是必需的。 的xpath爲此,我不希望我的列表中webelement是:

.//*[@id='addBrandTbl']/td/table/tbody/tr[3]/td 

有什麼辦法給我寫xpath這樣我就可以得到排除了上述元素的列表?

+0

如何在xpath中添加條件以從我的webelements列表中排除特定的webelement –

回答

1

您只需從列表中刪除這個元素

tbodyTD2.remove(3); 
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); 
       } 
      } 
+0

感謝prashant urs代碼是通用的將使用它 –

0

的XPath:// TR [@ ID = 'addBrandTbl']/TD /臺/ TBODY/TR/TD [否(@colspan)]

2

可以編寫的XPath謂詞在某些位置索引排除元件:

By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr[position() != 3]/td") 
相關問題