What is XPath in Selenium

If you have the desire to realize the simplest method to find components on the site page, at that point you have arrived at the ideal spot. The most ideal approach to find components in selenium is utilizing XPath. In this article on XPath in Selenium, we will provide you a concise knowledge on the most proficient method to make the XPath effective alongside its different sorts. The topics that will be covered in this article are What is XPath, XML Document, Syntax of XPath, types of XPath, functions of XPath. Let’s go through them in detail.

What is XPath in Selenium - Table of Content

What is XPath?

XPath additionally called as XML Path is a language to query XML archives. It is a significant procedure to find components in selenium. It comprises a path articulation alongside certain conditions. You can undoubtedly compose XPath content/question to find any component in the page.It is intended to permit the route of XML reports, to choose singular components, properties, or some other piece of a XML record for explicit handling. It additionally creates solid locators. 

XML Document

The XML document has a tree-like structure. The figure given below is an illustration of a XML record where you have various labels and qualities. It begins with a label called the bookstore, that is likewise a component or a node. The Bookstore node has a child node Book. It is additionally trailed by a quality considered as a category whose worth is Cooking. Book hub, has two child nodes for example Title and Author. Presently, how about we envision this XML report in a tree-like structure. 

IMAGE

Here, I will begin with the root node, for example bookstore, at that point we will find a book whose class is children.When we arrive at the right node, the subsequent stage will be to choose a hub with an author tag. So XPath can be composed like: 

bookstore/book[@category='children']/author

This is a XPath inquiry to find the writer of a book whose classification is children. Presently we should comprehend the syntax of the XPath question.

IMAGE

Syntax of XPath

  • //: It is utilised to choose the current node.
  • tagname: The name of the tag of a given specific node.
  • @: It is utilised to choose the attribute.
  • Attribute: The name of the attribute of the node.
  • Value: The value of the attribute

IMAGE 

Types of XPath

1.Absolute XPath: It is the immediate method to discover the element, yet the cons of the XPath is that, assuming there are any progressions made in the path of the component, then XPath gets fizzled.
For example: /html/body/div[1]/section/div[1]/div

2.Relative XPath: The path begins from the center of the HTML DOM structure for Relative XPath.It starts with the twofold forward cut (//), that implies it can look through the component anyplace at the website page.
For example: //input[@id=‘ap_email’]

Suppose You launch Google Chrome and navigate to google.com. Then locate the search bar utilising XPath. By analysing the web element there is an input tag and attributes like class and id. Utilise the tag name and given attributes to create XPath that will locate the search bar.

IMAGE

Click the Elements tab and press Ctrl + F to open a search box in chromes developers tool.  Write XPath string selector and it will try to search based on that criteria. In the image given above, it has an input tag.  //input implies tagname. Use the name attribute and pass ‘q’ as its value.It provides XPath expression as shown below:

//input[@name=’q’]

IMAGE

It has focused on the element that implies this specific element was located utilising XPath.

Selenium Certification Training

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

XPath Functions

Automation utilizing Selenium is unquestionably an incredible innovation which gives numerous approaches to distinguish an article or component on the website page. Be that as it may, in some cases we do deal with issues in recognizing the articles on a page that have similar credits. Some cases can be: components having similar credits and names or with more than one button with similar name and ids. It's trying to train selenium to distinguish a specific item on a website page and it is the place where XPath functions to serve as the hero. 

Types of XPath Functions

Selenium involves different functions. The three of the most broadly utilized functions are given below:

1.contains()
It is a technique utilized in a XPath articulation. At the point when the value of any property alters progressively for example login data, this technique comes into utilization. It can find a web component with the accessible partial content. Allow me to tell you the best way to utilize contains() method. Open google.com and pick a tag to investigate its component tab. Locate its src property utilizing XPath.  Utilize the select characteristic, trailed by its quality name src. Reorder the value of src. XPath will turn out to be excessively protracted. 

IMAGE

2.starts-with()
It is utilized to discover a web component whose estimation of a characteristic changes on the update or on some other unique procedure on the page. The beginning content of the attribute is compared to find a component whose property has changed progressively. 

For Example: On the page, the ID of a specific component alters progressively, for example, 'id1', 'id2', 'id3', and so forth, however the leftover content will be something similar. Now take a stab at exhibiting it utilizing a similar article that begins with(). 

IMAGE

In the figure src property begins with https. It will find the components which begin with https. Along these lines, it is the means by which beginning with function is utilized to find a specific component on the page. 

XPath query resembles,

//img[starts-with(@src,'https')]

3.text()
This is utilized with the text function to find a component with accurate content. Take an instance to utilize text(). The condition provided is,

“go anyplace inside this report, independent of the tag, in any case, it should include a text whose value is Search Google or type a URL”

The asterisk(*) infers any tag with a similar worth. XPath query is: 

//*[text()='Search Google or type a URL']

This is the way you can utilize text() work.

IMAGE

Subscribe to our youtube channel to get new updates..!

4.OR & AND:
Two conditions are utilized, in OR articulation, regardless of whether first condition OR second condition ought to be valid. It is likewise relevant if any one condition is valid or perhaps both. Any one condition ought to be consistent with discovering the element.The XPath articulation given below, recognizes the components that are single or the two conditions are valid. 

Xpath=//*[@type='submit' or @name='btnReset']

IMAGE 

Featuring the two components as the "LOGIN " component with property 'type' and the "RESET" component with the trait 'name'. In AND, the two conditions are utilized, which ought to be consistent with discovering the component. It neglects to discover components if any one condition is false. 

Xpath=//input[@type='submit' and @name='btnLogin']

Featuring the 'LOGIN' component as it includes both trait 'type' and 'name' in the expression given below.

IMAGE

Selenium Certification Training

Weekday / Weekend Batches

Conclusion

In Selenium computerization, if the components are not observed by the overall locators like name, id, class, and so on. XPath is utilized to discover a component on the website page. In this we learned about the XPath and distinctive XPath expression to track down the perplexing or dynamic components, whose values alter powerfully on update or any tasks. I believe it provides you a reasonable comprehension of how XPath in Selenium functions. 

Find our upcoming Selenium Certification Training Online Classes

  • Batch starts on 22nd May 2021, Weekend batch

  • Batch starts on 26th May 2021, Weekday batch

  • Batch starts on 30th May 2021, Weekend batch

Global Promotional Image
 

Categories

Request for more information

Srivalli
Srivalli
Research Analyst
As a senior technical content writer for HRK tainings, srivalli patchava has a greater understanding of today's data-driven environment, which includes key aspects of data management and IT organizations. She manages the task of creating great content in the areas of software testing, DevOps, Robotic process automation. Connects with her on Linkedin and Twitter.