Thursday 21 July 2016

Selenium: WebDriver: findElements: Get all elements that match given criteria

Some times there may be multiple web elements that match given criteria, in those situations you can use findElements method.

For example, index.jsp file contains two paragraph elements, you can access both the elements using findElements method.


index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>

<body>
 <div class="center">
  <h1>Simple application to demonstrate Selenium webdriver</h1>
 </div>

 <div class="center">
  <p>WebDriver interface provides number of methods to locate
   elements in a web page. You can locate an element by using class
   name, id, name, linktext etc.,</p>

  <p>Some times there may be multiple web elements that match given
   criteria, in those situations you can use findElements method.</p>
 </div>
</body>
</html>


Assume index.jsp is available at url. http://localhost:8080/application.
import java.util.List;

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

public class App {
 public static void main(String[] args) {
  WebDriver driver = new FirefoxDriver();
  driver.get("http://localhost:8080/application");

  List<WebElement> webElements = driver.findElements(By.tagName("p"));

  for (WebElement element : webElements) {
   System.out.println("*******************");
   System.out.println(element.getText() + "\n");
  }

  driver.close();
 }
}


Output
*******************
WebDriver interface provides number of methods to locate elements in a web page. You can locate an element by using class name, id, name, linktext etc.,

*******************
Some times there may be multiple web elements that match given criteria, in those situations you can use findElements method.



Previous                                                 Next                                                 Home

No comments:

Post a Comment