XPath Practice: Mastering XPath Expressions for Effective Web Automation using Contains(), Text(), Starts-With() Function

Test Your Skills with this Fun and Interactive Game


Home->Practice 3

Next
HTML Source document
          <span class="sub-text">
          <p>Contact US</p>
          </span>
         
          <p id="p1" class="para">Para 1</p>
         
          <div class="container">
          
           <p id="p2" class="para" style="left:252px;">Para 2</p>
           <p id="p3" class="para" style="width:117px;">Para 3</p>
           <p id="p4" class="para" style="height:24px;">Para 4</p>
          
          </div>
          
        
XPath Exercise 3

Q1. Find Contact US using Text()

Q2. Find Contact US using Contains()

Q3. Find Contact US using Starts-With()

Q4. Find Para 1 using ID attribute

Q5. Find Para 1 using Class attribute

Q6. Find Para 1 using ID and Class attribute

Q7. Find all Para inside the DIV tag

Q8. Find Para 2 using Style attribute

Q9. Find Para 3 using Style attribute

Q10. Find Para 4 using Style attribute

Q11. Find Para 2 and 3 together

Q12. Find Para 3 and 4 together

Q13. Find All Para

XPath O/P

Enter XPath Input here:   

XPath Tips and Syntax For This Page Exercise :

Using Contains()

Contains() is a method used to identify an element that changes dynamically and when we are familiar with some part of the attribute value of that element.

//HTML tag[contains(@attribute_name,'attribute_value')]

or

//*[contains(@attribute_name,'attribute_value')]

Here are a few examples to demonstrate how to use the Contains() in Selenium:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.example.com");
WebElement link = driver.findElement(By.xpath("//a[contains(text(), 'Link Text')]"));
link.click();

Using text()

The text() function in XPath can be used to select the text content of an element.

    //*[text()='testdata.com']

Using starts-with()

//HTMLtag[starts-with(@attribute_name,'attribute_value')]
or
//*[starts-with(@attribute_name,'attribute_value')]

Example:
// Navigate to a website
driver.get("https://www.example.com");
// Select all elements whose class attribute starts with "example-"
List elements = driver.findElements(By.xpath("//*[starts-with(@class, 'example-')]"));

Using ID, Class, Style Attribute

//HTMLtag[@attribute_name='attribute_value']
or
//*[@attribute_name='attribute_value']

Using AND

//input[@id='Email' and @name='Email']
 
or
 
//*[@id='Email' and @name='Email']
We would love to hear your thoughts, suggestions, concerns or problems with anything so we can improve. Request you to please use Social Media button in Right Side for this website growth.