Asif
Asif

Reputation: 39

How to get Link url (href) stored in <li> in WebDriver using java

i have an html source like this;

<ul class="menu">
<li class="submenuitem">
<a title="" href="/mysite/planning">Planning</a>
</li>
<li class="submenuitem">
<a title="" href="/mysite/planning-system">Planning System</a>
</li>
<li class="submenuitem">
<a title="" href="/mysite/planning/partners"> Planning Partners</a>
</li>
</ul>

I want to get all href urls below in every "li" tag using selenium web driver in Java. I tried the following code below;

List<WebElement> links =driver.findElements(By.cssSelector("submenuitem"));
        for (int i = 0; i < links.size(); i++)
        {
            links.getindex(i).getAttribute("href")
        }

But links.getAttribute("href") is returning null.

Upvotes: 1

Views: 2898

Answers (1)

Guy
Guy

Reputation: 50819

The problem is in By.cssSelector("submenuitem"), it should be By.cssSelector(".submenuitem") or By.className("submenuitem")

Another way could be

List<WebElement> links = driver.findElements(By.cssSelector("[href*='/mysite']"));

That will give you all the href which contains "/mysite"

Upvotes: 1

Related Questions