[英]List.get(index) to extend xpath for another List <WebElement>
我需要使用另一個List的值使用循環中的索引來初始化List
我已經嘗試過以下代碼段:
List <WebElement> row = driver.findElements(By.xpath("//*[@id='row']"));
for (int x=0; x<row.size(); x++){
String value = row.get(x).findElements(xpath to extend that element).get(x).getText() //just a sample manipulation
// THEN HERE'S THE PROBLEM
//I NEED TO EXTEND AGAIN THE LIST TO ANOTHER LIST
List <WebElement> another_row = row.get(x).findElements('//*[@class='house active' or @class='house']//*[contains(@id,'room')]')
//another for loop for another_row
}
問題是row.get(x)
部分不起作用。 我將第一個列表中的所有節點添加到新列表中。
編輯:我的問題有點像這樣,但在List <WebElement>
並在循環中
您可以通過采用父xpath,然后將該父xpath傳遞到要獲取的子元素的xpath來實現。
List<WebElement> parentElements = driver.findElements(By.xpath("xpath of the parent element"));
List<WebElement> childElements = parentElements.get(0).findElements(By.xpath("xpath of the child element"));
並且,如果您要獲取第一個列表中的所有節點添加到新的子列表中,則可以使用xpath中的索引直接獲取父級的第一個元素,例如:
WebElement parentElement = driver.findElement(By.xpath("(//*[@id='row'])[1]"));
您還可以像下面這樣參數化元素的索引:
int i = 1;
WebElement parentElement = driver.findElement(By.xpath("(//*[@id='row'])["+i+"]"));
現在,通過此父元素,您可以獲取子列表元素,例如:
List<WebElement> childElements = parentElement.findElements(By.xpath("xpath of the child element"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.