I have a list of li elements wrapped in sub-menu class of HTML, before clicking on any of the li element I wanted to cross check all li elements are present with getText()
and length
but not sure how to go with length
as I don't see any suggestion to go for length.
WebElement menuList = driver.findElement(By.id("menu-item-33"));
menuList.click();
List<WebElement>elems = driver.findElements(By.className("sub-menu"));
for (WebElement ddlList : elems)
{
System.out.println(ddlList.getText());
//Something like ddlList.length(); but not able to work upon it.
}
}
2 Answers 2
There are two ways/solutions to print num of element.
Solution 1 :
int i=0;
for (WebElement ddlList : elems)
{
System.out.println("Element Num "+ i +" is "+ ddlList.getText());
i++;
}
- Here just increase value of
i
in each repetition.
Solution 2 :
for (int i=0; i < elems.size(); i++)
{
System.out.println("Element Num "+ i +" is " + elems.get(i).getText());
}
- Here simple java loop with
size()
of list.
If you want to print only num of elements then follow below :
System.out.println(elems.size());
I believe you found the answer. But I would like to share this line of code just in case if this could also add to help. This is a C# code
MyTickets = driver.FindElements(By.CssSelector("#support-dashboard-form>div>div.dashboard-container>div")).Count();
for (int i=2;i<=MyTickets+1;i++)
{
string TicketRef = driver.FindElement(By.CssSelector("#support-dashboard-form>div>div.dashboard-container>div:nth-child(" + i + ")>div.column.dashboard-column-icon>div.ticket-ref")).Text;
}
Explore related questions
See similar questions with these tags.
ddlList
is an individual element . . . if you just want to know how many you had, you want the length ofelems
. .