003 7.xpath Methods
003 7.xpath Methods
003 7.xpath Methods
X-Path
Syntax : //tagname[@attribute='value']
E.g. : //a[@id=‘login’]
Types of X-path
Absolute XPath
It is the direct and lengthy way to find an element.
E.g. : /html/body/div[1]/div[3]/div/div[2]/main/div/div[1]/div/article/div/div/div[3]/div[1]/div/div/h2[2]/
div[1]/div/div[2]/input
The problem with absolute XPath is that if we make any changes in the Webpage before the
position of that element then that XPath fails.
It begins with the single forward slash(/) ,which means you can select the element from the root
node.
Relative XPath
For Relative XPath, the path starts from the middle of the HTML DOM structure.
E.g. : .//input[@name='firstname']
It starts with double forward slash (//), which means it can search the element anywhere at the
webpage.
You can start from the middle of the HTML DOM structure with no need to write a long XPath.
Methods of X-path
Contains() – As the name suggests it checks if an attribute contains the specific value or
not.
E.g. xpath = .//input[contains(@id,’user’)]
OR & AND – This is very simple we all might’ve used this in any different programming
language, this is no different. To use multiple conditions at once we use OR & AND.
E.g. xpath = .//input[@id=‘username’ OR @name=‘username’]
Starts-With Function – This function checks if the attribute of an element starts with that
particular value or not.
E.g. xpath = .//input[starts-with(@id,’user’)]
Text() – This function checks if the text of the tag matches the mentioned value.
E.g. xpath = .//label[text()=‘Username’]
Using Index – When your xpath return more then 1 element you can use index to specify
the one you’re searching for.
E.g. xpath = (.//a[text()=‘New Item’])[1]