# How to find an element using the “XPath” in Selenium?

SeleniumAutomation TestingTesting Tools

#### Selenium Online Training

46 Lectures 5.5 hours

#### Selenium 4 - New Features

22 Lectures 7 hours

#### New Selenium IDE

118 Lectures 17 hours

We can find an element using the xpath locator with Selenium webdriver.

To identify the element with xpath, the expression should be //tagname[@attribute='value'].

To identify the element with xpath, the expression should be //tagname[@class='value']. There can be two types of xpath – relative and absolute. The absolute xpath begins with / symbol and starts from the root node upto the element that we want to identify.

For example,

/html/body/div[1]/div/div[1]/a

The relative xpath begins with // symbol and does not start from the root node. For example,

//img[@alt='tutorialspoint']

Let us see the html code of the highlighted element starting from the root.

The absolute xpath for the element Home is /html/body/div[1]/div/div[1]/a.

The relative xpath for element Home is //a[@title='TutorialsPoint - Home'].

There are also functions available which help to frame relative xpath expressions −

• text() – It is used to identify an element with the help of the visible text on the page. The xpath expression is //*[text()='Home'].

• starts-with – It is used to identify an element whose attribute value begins with a specific text. This function is normally used for attributes whose value changes on each page load.

Let us see the html of the element Q/A −

The xpath expression should be //a[starts-with(@title, 'Questions &')].

• contains() - it identifies an element whose attribute value contains a sub-text of the actual attribute value. This function is normally used for attributes whose value changes on each page load.

The xpath expression is : //a[contains(@title, 'Questions & Answers')].

## Syntax

WebElement m = driver.findElement(By.xpath("//span[@class = 'cat-title']"));

## Example

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public class LocatorXpath{
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver",
"C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//implicit wait
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//URL launch
driver.get("https://www.tutorialspoint.com/online_dev_tools.htm");
// identify element with xpath
WebElement n=driver.
findElement(By.xpath("//span[@class = 'cat-title']"));
String str = n.getText();
System.out.println("Text is : " + str);
driver.close();
}
}

## Output

Updated on 06-Apr-2021 08:44:11

Advertisements