Selecting a <li> element from <ul> list element.

6,989 views
Skip to first unread message

Selenium User

unread,
Mar 25, 2012, 8:58:39 PM3/25/12
to Selenium Users
Hi,

There are list of li inside ul.
Identified ul using FindElements.
How to select and click a li element which is inside ul.

Requirement.
<ul class="mail-links">
<li>
</li>
<li>
</li>
<li>
</li>
<li>
<a href="https://accounts.google.com/SignUp?service=mail&continue=https
%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3D2&ltmpl=default"> Create an
account </a>
</li>
</ul>

Program.
package com.google.test;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class GMailCreateAccountTest {
public static void main (String args[]) {
WebDriver driver = new FirefoxDriver();

// To load a page.
driver.get("http://www.gmail.com");

// Waiting for a page to load.
driver.manage().timeouts().implicitlyWait(0, TimeUnit.MILLISECONDS);
driver.manage().timeouts().implicitlyWait(10,
TimeUnit.MILLISECONDS);

// To identify Create Account button.
WebElement elementLinkCheck = driver.findElement(By.xpath("//
ul[@class='mail-links']"));
List<WebElement> listElementLinkCheck =
driver.findElements(By.xpath("//ul[@class='mail-links']"));

for(WebElement element : listElementLinkCheck ) {
System.out.println("Element inside ul -->" + element.getText());
System.out.println("Attrbite for that element-->" +
element.getTagName());
if("Create an account".equalsIgnoreCase(element.getText())){

System.out.println("Create account is identified.-->" +
element.getText());
element.click();
}
}

// To check whether element present in the page or not.
//WebElement elementLinkCheck = (new WebDriverWait(driver,
20)).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//
ul[@id='mail-links']")));
System.out.println(elementLinkCheck.isDisplayed());
//WebElement elementLinks = driver.findElement(By.xpath("//
ul[@id='mail-links']"));
}
}


Console Output.
Element inside ul -->About Gmail
New features!
Switch to Gmail
Create an account
Attrbite for that element-->ul
true

Help Required.

Thanks

Starter.

Reply all
Reply to author
Forward
0 new messages