How to use relative xpath for locating a web-element by particular Attribute?

0 votes
I am trying to use Xpath. Using absolute Xpath is very lengthy and complicated. I want to know as how can I use relative Xpath by using Attribute to locate a web-element?

Thank you in advance.
Dec 24, 2018 in Selenium by Anjali
• 2,900 points
136 views

1 answer to this question.

0 votes

Hello @User,

Taking a simple example of facebook,

You want to locate the Email or Phone. 

Let's Inspect the element and see what it has for us.

<input type="email" class="inputtext" name="email" id="email" data-testid="royal_email">

Here we have many attributes to use such as type, class, name, id , data-testid.

You can directly use ID using

driver.findElement(By.Id("email"));

As you want to use the XPath lets see how to make use of relative Xpath.

the expression will come out to be as 

//input[contains(@id,'email')]

which will be used as follows:

driver.findElement(By.xpath("//input[contains(@id,'email')]"));

This way you can use relative Xpath to locate an element using an Attribute.

Hope this helps.

answered Dec 24, 2018 by Nabarupa

Related Questions In Selenium

0 votes
1 answer
0 votes
1 answer

How can I select a particular node within the XPath node sets by index?

There is no concept of 'i' in ...READ MORE

answered Apr 20, 2018 in Selenium by king_kenny
• 3,590 points
174 views
0 votes
1 answer

Finding WebDriver element with Class Name in java

The better way to handle this element ...READ MORE

answered Apr 10, 2018 in Selenium by nsv999
• 5,050 points
260 views
0 votes
1 answer
0 votes
1 answer

Geo-location microphone camera pop up

To Allow or Block the notification, access using Selenium and you have to ...READ MORE

answered May 11, 2018 in Selenium by Samarpit
• 5,130 points
629 views
0 votes
1 answer

How to use such xpath to find web elements

It's much simpler to use: #MyDiv123 > div.super or ...READ MORE

answered Jun 14, 2018 in Selenium by Samarpit
• 5,130 points
257 views
0 votes
1 answer