SlideShare una empresa de Scribd logo
1 de 21
XPATH
Dasun Eranthika
Content
2


       What is Xpath?
       The Use of Xpath
       How we get Xpath form Mozilla Firefox
       What if the webpage does not support for
        Firefox?
       What is IE DEVELOPER?
       How manually write Xpath?


                         XPath | Dasun Eranthika   11/24/2012
What is xpath?
3


       Webpage has varies of object (e.g.: images, text
        boxes, text fields, buttons, radio buttons, check
        boxes etc.)
       Each and every object has a unique id/name/path
        called Xpath.
       If developer change the colour of a button in
        webpage later, but the Xpath remain same.
       By using Xpath we can uniquely identify an
        element of a webpage.
       Selenium actually uses xpath to identify elements.
       “Xpath is something unique for every element
        of webpage.”
                           XPath | Dasun Eranthika   11/24/2012
The use of xpath
4


       If you are willing to become an automation tester
        in IT industry, learning xpath is makes the thing
        easy.
       When automate a website, have to identify the
        object of the each and every webpage according
        to the test case. (It is not necessary to find the
        xpath of every element of the page)
       Imagine you have to automate Gmail login, you
        have to enter user name, password and click
        “Sign In” button.
       Selenium identifies these two text fields and11/24/2012
                               XPath | Dasun Eranthika
        button by using of xpath.
How we get xpath from Mozilla
5
    Firefox
       If your webpage running on Mozilla Firefox,
        very easy to get xpath.
       You have to install two add-ons for the Mozilla.
        (Firebug and FirePath)
       Installing Firebug to Mozilla




                          XPath | Dasun Eranthika   11/24/2012
How we get xpath from Mozilla
6
    Firefox(cont.)
       Installing Firebug to Mozilla
       What is Firebug?
         Firebug  is a web development tool that facilitates
          the debugging, editing, and monitoring of any
          website's CSS, HTML, DOM, XHR, and
          JavaScript; it also provides other web
          development tools
         It simply install as an add-on for Firefox.

       How to Install Firebug
         Important:This is a Firefox add-on. So, please
         make sure to surf using Firefox web browser.
                            XPath | Dasun Eranthika   11/24/2012
How we get xpath from Mozilla
7
    Firefox(cont.)




           After install Firebug, you can access it by [1] Firefox> Web
     Nowtothe can Firebug element Add towebpagebutton Firebug, browser
     Clickyou “Download” or it install and restart your icon on right upper of
      Developer> inspect link which compatible with your Firefox first you
                    Wait Click [2] “+ of click the “Install browser
                          until on and the Firefox” using
     Go www.getfirebug.com Simply click Firebug Firebug” button which
        have to click the second icon inF12 key on your key board in
                                 [3] press Firebug tool(which I mention
              the browser or show in orange circle
                                orange colour circle)


                                   XPath | Dasun Eranthika               11/24/2012
How we get xpath from Mozilla
8
    Firefox(cont.)
       Installing FirePath to Mozilla
       What is FirePath?
           FirePath is a Firebug extension that adds a
            development tool to edit, inspect and generate XPath
            1.0 expressions, CSS 3 selectors and JQuery
            selectors (Sizzle selector engine).
       How to Install FirePath
           Important: FirePath is an extension of Firebug. So,
            please make sure to install Firebug to your Firefox
            web browser before to install FirePath. And make sure
            to surf this using Firefox web browser.

                               XPath | Dasun Eranthika   11/24/2012
How we get xpath from Mozilla
9
    Firefox(cont.)




      Click element inspect icon which I mentioned earlier and click one of
      Open Firebug & click “FirePath” the add-on mention in orange circle)
                                Restart tab. browser
                                             (which
     Go to https://addons.mozilla.org/en-US/firefox/addon/firepath/ link and
                                 Install
     object in the webpage. (Here, I clicked Google image of www.google.lk
       click on “+ Add to Firefox” button. (Which mention in orange circle)
                     ). The Xpath is showing on green circle.

                                 XPath | Dasun Eranthika             11/24/2012
What if the webpage does not
10
     support for Firefox?
        Today some web applications developed using
         Pega is not support for Firefox, support for
         Internet Explorer (IE).
        If we have to automate that kind of web site, it
         will be tricky. (We have to write the Xpath
         manually.)
        Before write the Xpath, we need an object
         inspection tool for IE.


                           XPath | Dasun Eranthika   11/24/2012
What is IE DEVELOPER?
11

        Internet Explorer Developer Tools (formerly known as
         Internet Explorer Developer Toolbar), is a component
         of Internet Explorer that aids in design and debugging
         of web pages.
        It was introduced as a toolbar for Internet Explorer 6
         and Internet Explorer 7.
        Internet Explorer 8 and Internet Explorer 9 include the
         features built in.
        You can access to the IE Developer by pressing F12
         or Tool > F12 developer tools
        If you don’t have IE Developer, you can download it
         from http://www.microsoft.com/en-
         us/download/details.aspx?id=18359
                              XPath | Dasun Eranthika    11/24/2012
How manually write Xpath?
12


        Writing Xpath is not a big deal, but first time
         you may think it is hard one.
        For one object, there may be several xpaths.
        Here I mentioned some xpaths for
         objects.(which I wrote and generated by
         FirePath)-both are correct.




                            XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
13
     (cont.)
        Text




         My way:                                  Firepath way:
         //div[@id='mainContent']/p[1]/i          .//*[@id='mainContent']/p[1]/i
                                           XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
14
     (cont.)
        Image




         My way:                             Firepath way:
         //div[@id='sidebar']/img[@alt='Sele .//*[@id='sidebar']/img
         nium Logo']
                                       XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
15
     (cont.)
        Image Button




         My way:                             Firepath way:
         //div[@id='sidebar']/div[@class='do .//*[@id='sidebar']/div
         wnloadBox']

                                       XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
16
     (cont.)
        Link




         My way:                                 Firepath way:
         //table[@id='choice']/tbody/tr/td/p/a   .//*[@id='choice']/tbody/tr/td[1]/p/a
         [contains(@href,'/projects/ide/')]

                                         XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
17
     (cont.)
        Tab




         My way:                              Firepath way:
         //li[@id='menu_about']/a[contains(   .//*[@id='menu_about']/a
         @href,'/about/')]

                                     XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
18
     (cont.)
        Text Field




         My way:                     Firepath way:
         //input[@id='q']            .//*[@id='q']


                            XPath | Dasun Eranthika   11/24/2012
How manually write Xpath?
19
     (cont.)
        Button




         My way:                          Firepath way:
         //input[@id='submit']            .//*[@id='submit']

                                 XPath | Dasun Eranthika   11/24/2012
20


        To download the PDF,
         http://www.mediafire.com/view/?5wl8t2mk0021t94




                             XPath | Dasun Eranthika   11/24/2012
“The Journey Just
                                    Began”




I’m in…




          XPath | Dasun Eranthika

Más contenido relacionado

Similar a Xpath

Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...
Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...
Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...
Rashedul Islam
 

Similar a Xpath (20)

Programming Without Coding Technology (PWCT) - Create Files
Programming Without Coding Technology (PWCT) - Create FilesProgramming Without Coding Technology (PWCT) - Create Files
Programming Without Coding Technology (PWCT) - Create Files
 
DevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with AdaptDevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with Adapt
 
Programming Without Coding Technology (PWCT) - While Loop component
Programming Without Coding Technology (PWCT) - While Loop componentProgramming Without Coding Technology (PWCT) - While Loop component
Programming Without Coding Technology (PWCT) - While Loop component
 
Programming Without Coding Technology (PWCT) - HTTP Get Component
Programming Without Coding Technology (PWCT) - HTTP Get ComponentProgramming Without Coding Technology (PWCT) - HTTP Get Component
Programming Without Coding Technology (PWCT) - HTTP Get Component
 
Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...
Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...
Step 8_7_ 6_5_4_3_2_ 1 in one_Tutorial for Begineer on Selenium Web Driver-Te...
 
Programming Without Coding Technology (PWCT) - The Macro Operator
Programming Without Coding Technology (PWCT) - The Macro OperatorProgramming Without Coding Technology (PWCT) - The Macro Operator
Programming Without Coding Technology (PWCT) - The Macro Operator
 
Programming Without Coding Technology (PWCT) - IF Statement Component
Programming Without Coding Technology (PWCT) - IF Statement ComponentProgramming Without Coding Technology (PWCT) - IF Statement Component
Programming Without Coding Technology (PWCT) - IF Statement Component
 
Programming Without Coding Technology (PWCT) - Using the For Loop component.
Programming Without Coding Technology (PWCT) - Using the For Loop component.Programming Without Coding Technology (PWCT) - Using the For Loop component.
Programming Without Coding Technology (PWCT) - Using the For Loop component.
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
Programming Without Coding Technology (PWCT) - ASCII Code
Programming Without Coding Technology (PWCT) - ASCII CodeProgramming Without Coding Technology (PWCT) - ASCII Code
Programming Without Coding Technology (PWCT) - ASCII Code
 
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
 
IBM Notes 9 Social Edition Cheat Sheet
IBM Notes 9 Social Edition Cheat SheetIBM Notes 9 Social Edition Cheat Sheet
IBM Notes 9 Social Edition Cheat Sheet
 
Firefox-Addons
Firefox-AddonsFirefox-Addons
Firefox-Addons
 
Simple web browser
Simple web browserSimple web browser
Simple web browser
 
Develop MS Office Plugins
Develop MS Office Plugins Develop MS Office Plugins
Develop MS Office Plugins
 
Programming Without Coding Technology (PWCT) - Variables
Programming Without Coding Technology (PWCT) - VariablesProgramming Without Coding Technology (PWCT) - Variables
Programming Without Coding Technology (PWCT) - Variables
 
Oracle User Productiviy Kit
Oracle User Productiviy KitOracle User Productiviy Kit
Oracle User Productiviy Kit
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 
MarcEdit Shelter-in-place Webinar 2.5: Getting Started with MarcEdit Mac
MarcEdit Shelter-in-place Webinar 2.5: Getting Started with MarcEdit MacMarcEdit Shelter-in-place Webinar 2.5: Getting Started with MarcEdit Mac
MarcEdit Shelter-in-place Webinar 2.5: Getting Started with MarcEdit Mac
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Xpath

  • 2. Content 2  What is Xpath?  The Use of Xpath  How we get Xpath form Mozilla Firefox  What if the webpage does not support for Firefox?  What is IE DEVELOPER?  How manually write Xpath? XPath | Dasun Eranthika 11/24/2012
  • 3. What is xpath? 3  Webpage has varies of object (e.g.: images, text boxes, text fields, buttons, radio buttons, check boxes etc.)  Each and every object has a unique id/name/path called Xpath.  If developer change the colour of a button in webpage later, but the Xpath remain same.  By using Xpath we can uniquely identify an element of a webpage.  Selenium actually uses xpath to identify elements.  “Xpath is something unique for every element of webpage.” XPath | Dasun Eranthika 11/24/2012
  • 4. The use of xpath 4  If you are willing to become an automation tester in IT industry, learning xpath is makes the thing easy.  When automate a website, have to identify the object of the each and every webpage according to the test case. (It is not necessary to find the xpath of every element of the page)  Imagine you have to automate Gmail login, you have to enter user name, password and click “Sign In” button.  Selenium identifies these two text fields and11/24/2012 XPath | Dasun Eranthika button by using of xpath.
  • 5. How we get xpath from Mozilla 5 Firefox  If your webpage running on Mozilla Firefox, very easy to get xpath.  You have to install two add-ons for the Mozilla. (Firebug and FirePath)  Installing Firebug to Mozilla XPath | Dasun Eranthika 11/24/2012
  • 6. How we get xpath from Mozilla 6 Firefox(cont.)  Installing Firebug to Mozilla  What is Firebug?  Firebug is a web development tool that facilitates the debugging, editing, and monitoring of any website's CSS, HTML, DOM, XHR, and JavaScript; it also provides other web development tools  It simply install as an add-on for Firefox.  How to Install Firebug  Important:This is a Firefox add-on. So, please make sure to surf using Firefox web browser. XPath | Dasun Eranthika 11/24/2012
  • 7. How we get xpath from Mozilla 7 Firefox(cont.) After install Firebug, you can access it by [1] Firefox> Web Nowtothe can Firebug element Add towebpagebutton Firebug, browser Clickyou “Download” or it install and restart your icon on right upper of Developer> inspect link which compatible with your Firefox first you Wait Click [2] “+ of click the “Install browser until on and the Firefox” using Go www.getfirebug.com Simply click Firebug Firebug” button which have to click the second icon inF12 key on your key board in [3] press Firebug tool(which I mention the browser or show in orange circle orange colour circle) XPath | Dasun Eranthika 11/24/2012
  • 8. How we get xpath from Mozilla 8 Firefox(cont.)  Installing FirePath to Mozilla  What is FirePath?  FirePath is a Firebug extension that adds a development tool to edit, inspect and generate XPath 1.0 expressions, CSS 3 selectors and JQuery selectors (Sizzle selector engine).  How to Install FirePath  Important: FirePath is an extension of Firebug. So, please make sure to install Firebug to your Firefox web browser before to install FirePath. And make sure to surf this using Firefox web browser. XPath | Dasun Eranthika 11/24/2012
  • 9. How we get xpath from Mozilla 9 Firefox(cont.) Click element inspect icon which I mentioned earlier and click one of Open Firebug & click “FirePath” the add-on mention in orange circle) Restart tab. browser (which Go to https://addons.mozilla.org/en-US/firefox/addon/firepath/ link and Install object in the webpage. (Here, I clicked Google image of www.google.lk click on “+ Add to Firefox” button. (Which mention in orange circle) ). The Xpath is showing on green circle. XPath | Dasun Eranthika 11/24/2012
  • 10. What if the webpage does not 10 support for Firefox?  Today some web applications developed using Pega is not support for Firefox, support for Internet Explorer (IE).  If we have to automate that kind of web site, it will be tricky. (We have to write the Xpath manually.)  Before write the Xpath, we need an object inspection tool for IE. XPath | Dasun Eranthika 11/24/2012
  • 11. What is IE DEVELOPER? 11  Internet Explorer Developer Tools (formerly known as Internet Explorer Developer Toolbar), is a component of Internet Explorer that aids in design and debugging of web pages.  It was introduced as a toolbar for Internet Explorer 6 and Internet Explorer 7.  Internet Explorer 8 and Internet Explorer 9 include the features built in.  You can access to the IE Developer by pressing F12 or Tool > F12 developer tools  If you don’t have IE Developer, you can download it from http://www.microsoft.com/en- us/download/details.aspx?id=18359 XPath | Dasun Eranthika 11/24/2012
  • 12. How manually write Xpath? 12  Writing Xpath is not a big deal, but first time you may think it is hard one.  For one object, there may be several xpaths.  Here I mentioned some xpaths for objects.(which I wrote and generated by FirePath)-both are correct. XPath | Dasun Eranthika 11/24/2012
  • 13. How manually write Xpath? 13 (cont.)  Text My way: Firepath way: //div[@id='mainContent']/p[1]/i .//*[@id='mainContent']/p[1]/i XPath | Dasun Eranthika 11/24/2012
  • 14. How manually write Xpath? 14 (cont.)  Image My way: Firepath way: //div[@id='sidebar']/img[@alt='Sele .//*[@id='sidebar']/img nium Logo'] XPath | Dasun Eranthika 11/24/2012
  • 15. How manually write Xpath? 15 (cont.)  Image Button My way: Firepath way: //div[@id='sidebar']/div[@class='do .//*[@id='sidebar']/div wnloadBox'] XPath | Dasun Eranthika 11/24/2012
  • 16. How manually write Xpath? 16 (cont.)  Link My way: Firepath way: //table[@id='choice']/tbody/tr/td/p/a .//*[@id='choice']/tbody/tr/td[1]/p/a [contains(@href,'/projects/ide/')] XPath | Dasun Eranthika 11/24/2012
  • 17. How manually write Xpath? 17 (cont.)  Tab My way: Firepath way: //li[@id='menu_about']/a[contains( .//*[@id='menu_about']/a @href,'/about/')] XPath | Dasun Eranthika 11/24/2012
  • 18. How manually write Xpath? 18 (cont.)  Text Field My way: Firepath way: //input[@id='q'] .//*[@id='q'] XPath | Dasun Eranthika 11/24/2012
  • 19. How manually write Xpath? 19 (cont.)  Button My way: Firepath way: //input[@id='submit'] .//*[@id='submit'] XPath | Dasun Eranthika 11/24/2012
  • 20. 20  To download the PDF, http://www.mediafire.com/view/?5wl8t2mk0021t94 XPath | Dasun Eranthika 11/24/2012
  • 21. “The Journey Just Began” I’m in… XPath | Dasun Eranthika