Home  >  Blog  >   Selenium

Finding Elements by XPATH and Using CSS - SELENIUM

Rating: 4
  
 
4047
  1. Share:
Selenium Articles

Finding Elements by XPATH

1. Finding elements by XPATH and ID
2. Finding elements by XPATH and NAME
3. Finding elements by XPATH and LINK
4. Finding elements by XPATH and Text

Finding elements by XPATH and ID:-

Type  //form[@id=’search_mini_form’]/div/input

Accelerate your career with Selenium Training and become an expertise in Selenium.

Finding elements by XPATH and NAME:-

Type    //input[@name=’q’]

Finding elements by XPATH and LINK:-

Click   //a[@id=’navigation-top-cat-label-707′]
Click   //ul[@id=’nav’]/li[3]/a
Click   //a[@href=’https://www.rightstart.com/search/result/?ocat=707′]

Partial Match on Attribute Content:-

There are times where only part of the ID is dynamic. For example, if you wanted to access the element that has the text “This element has an ID that changes every time the page is loaded” in it, you will use //div[contains(@id,’time_’)]. This is due to the first part of the ID always being static. The locator could also use starts-with instead of contains to make the XPath query stricter in what is returned.
We can use two methods to find the elements with text

  • Contains
  • Starts-with

Syntax:- //element[text()=’inner text’].
Example for Starts with: for link Booster seats
//a[starts-with(text(),’Boost’)]
Example for contains: for link Car seat bases
//a[contains(text(), ‘Seat’)]
Finding elements by the text they contain can be quite useful when working with web pages that have been created dynamically.

MindMajix YouTube Channel

Checkout Selenium Interview Questions

Contains:-

If we know part of the text then we have to use this command.
Syntax: //element[contains(text(),’inner text’)]

//a[contains(text(),’Car Seat Bases’)]

For the above example the command is :
//a[contains(text(),’Car Seat Bases’)]

Starts with:-

Syntax:- //element[starts with(text(),’inner text’)]
If we know the starting of the text then we have to use this command.

//a[starts-with(text(),’Boost’)]

For the above example the command is:
//a[starts-with(text(),’Boost’)]

Checkout Selenium Tutorial

Finding Elements by using CSS

locators are a way to tell selenium which specific element we want it to act on Why CSS

  • Because they are faster
  • Because they are more readable

MORE READABLE:-

//input[@id=”myId”] vs css=input#myId
//input[@class=”myClass”] vs  css=input.myClass
//input[@name=”myName”] vs  css=input[name=myName] //*[@id=”myId”] vs css=#myId
//table[@id=”myId”]//tr[@class=”myClass”]//td[3] vs css=table#myId tr.myClass td:nth(3)

Explore Selenium Sample Resumes! Download & Edit, Get Noticed by Top Employers!Download Now!
Join our newsletter
inbox

Stay updated with our newsletter, packed with Tutorials, Interview Questions, How-to's, Tips & Tricks, Latest Trends & Updates, and more ➤ Straight to your inbox!

Course Schedule
NameDates
Selenium Training Apr 27 to May 12View Details
Selenium Training Apr 30 to May 15View Details
Selenium Training May 04 to May 19View Details
Selenium Training May 07 to May 22View Details
Last updated: 03 Apr 2023
About Author

 

Madhuri is a Senior Content Creator at MindMajix. She has written about a range of different topics on various technologies, which include, Splunk, Tensorflow, Selenium, and CEH. She spends most of her time researching on technology, and startups. Connect with her via LinkedIn and Twitter .

read more
Recommended Courses

1 / 15