findelement xpath selenium code example

Example 1: xpath in selenium

How many types of xpath are there?
    - Two types of xpath
-> What are the two types?
    - Absolute and Relative xpath
    #1- Absolute xpath:
        - starts with / 
        - Starts from the very beginning of the html page, 
        and goes down to desired web element 1 by 1.
        - it is NOT dependable at all. 
        - easly brakes if there is any minimal changes 
        in the structure of the HTML page.
    #2- Relative xpath:
        - starts with //
        - // means you can start from anywhere in the HTML code
        - it will jump to the first matching value and return it 
        - There are MANY different options to use relative xpath
        Commmon xpaths:
            #1- //tagName[@attribute='value']
            #2- //*[@attribute='value'] --> * means look for all web elements
            #3- //tagName[.='text'] --> returns the web element with given text.
    -> instead of giving tag name if you pass * it return all the web elements 
    that contain given attribute and value regardless of the tag name.

Example 2: find elements in selenium

#In Python

#Let's say that we want to locate the h1 tag in this HTML:
#<html>
#    <head>
#        ... some stuff
#    </head>
#    <body>
#        <h1 class="someclass" id="greatID">Super title</h1>
#    </body>
#</html>

h1 = driver.find_element_by_name('h1')
h1 = driver.find_element_by_class_name('someclass')
h1 = driver.find_element_by_xpath('//h1')
h1 = driver.find_element_by_id('greatID')