There are 5 Webelements which share same xpaths. I want to get the text from each element and store it in a list. Below is my failed attempt:
List<WebElement> ActualAdFormats_Elements = driver.findElements(By.xpath("(//h4[text()='Select Ad Format']/..//strong)"));
for(WebElement AdFormat:ActualAdFormats_Elements) {
ActualAdFormat_List.add(AdFormat.getText());
}
CodePudding user response:
Not sure what is ActualAdFormat_List
in your code.
Also there's no need to have parenthesis in xpath, remove them as well.
Please define a list of string
like this :
List<String> ActualAdFormat_List = new ArrayList<String>();
and use it like this :
List<WebElement> ActualAdFormats_Elements = driver.findElements(By.xpath("//h4[text()='Select Ad Format']/..//strong"));
for(WebElement AdFormat : ActualAdFormats_Elements) {
ActualAdFormat_List.add(AdFormat.getText());
}
Make sure that,
//h4[text()='Select Ad Format']/..//strong
represent all 5 web elements in HTMLDOM
.
Steps to check:
Press F12 in Chrome
-> go to element
section -> do a CTRL F
-> then paste the xpath
and see, if your desired element
is getting highlighted with 1/1
matching node.