Syntax error How to identify the nth sub element using xpath?

How to identify the nth sub element using xpath?



We can identify the nth sub element using xpath in the following ways −

  • By adding square brackets with index.

  • By using position () method in xpath.

Example

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class SubElement {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/index.htm";
      driver.get(url);
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      // xpath using position() targeting the first element with type text
      driver.findElement(By.xpath("//input[@type='text'][position()=1]"))
      .click();
      driver.close();
   }
}

Example

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class RowCount {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/plsql/plsql_basic_syntax.htm";
      driver.get(url);
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      // xpath with index appended to get the data from the row 2 of table
      List<WebElement> rows =
      driver.findElements(By.xpath("//table/tbody/tr[2]/td"));
      System.out.println(“The number of data in row 2 is “+ rows.size());
      driver.close();
   }
}
Updated on: 2020-06-10T13:06:19+05:30

7K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements