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<mpl=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.