Complete Xpath from Basic to Advance | 14 Xpath Function | All Xpath AXES | Xpath tutorial

Sdílet
Vložit
  • čas přidán 20. 07. 2024
  • This will be one complete tutorial that will cover Everything in XPaths.
    Demo page 1 : theautomationzone.blogspot.co...
    Demo page 2 : theautomationzone.blogspot.co...
    Topics are as follows :
    Into :(0:00)
    Basics :(1:36)
    Using OR & AND :(8:12)
    innerText or text function :(11:20)
    Parent / Child is Unique :(12:53)
    Xpath with Index :(18:10)
    Absolute vs Relative :(21:07)
    Advance - Elements as an Attribute (23:02)
    Part 2 & Part 3 :- XPath Functions
    Contains :(25:52)
    Starts-With :(29:17)
    Position :(30:42)
    Last :(32:34)
    Count :(34:13)
    Ignore Space - normalize-space :(36:35)
    Ignore Case - translate (41:00)
    Ignore Space + Ignore Case :(46:00)
    String-Length :(49:00)
    Floor and Round :(50:30)
    Not :(53:05)
    substring-before | Substring-after :(55:20)
    Part 4 : AXES
    AXES intro :(58:34)
    parent :(1:00:37)
    ancestor and ancestor-or-self :(1:02:36)
    child and descendant :(1:05:32)
    following and following-sibling :(1:08:28)
    preceding and preceding-sibling - same and above
    Example :(1:12:25)
    XPath Basic : • Xpaths in Selenium | X...
    XPath Functions Part 1 : • Advance Xpaths | Xpath...
    Xpath Functions Part 2 : • Advance Xpath | Ignore...
    XPath Axes : • Xpaths Axes | Advance ...
    Code Snippet :
    Xpath in Selenium
    ===================
    //*[@id='value'] - Any Elements by id
    //*[@name='value']- Any Elements by name
    //*[text()='value']- any Elements by text
    //input[@id='value']- input Elements by id
    //div[text()='value']- input Elements by text
    //input[@id='value' and @name='value'] - two or more attributes
    //input[@id='value' or @name='value'] - two or more attributes
    //div[@id='value']/.. - one element up
    //div[@id='value']/input - one element down by tag
    //div[@id='value']/div/input - two element down by tag
    //div[@id='value']//input - any level inside the element
    //div[@id='value']//input[1] - first element inside an element wit tag
    //div[@id='value']//input[@id='value'] - element inside an element with tag and attribute
    Elements as attributes
    //div[@id='value']/..
    //*[div[@id='value']]
    //div[@id='value']/../..
    //*[*[div[@id='value']]]
    Xpath Contains and Positions and more
    ============================
    contains()
    starts-with()
    last() - tables
    position() - use checkboxes in tables
    count() - tables is an example
    Xpath Ignore Case and Whitespaces and more
    ============================
    normalize-space() - example with spaces
    translate() - replace example
    not() - take any example
    floor()
    round()
    string-length(string)
    substring-before(string1, string2)
    substring-after(string1, string2)
    Xpath Axes
    ===========
    ancestor
    ancestor-or-self
    attribute
    child
    descendant
    descendant-or-self
    following
    following-sibling
    parent
    preceding
    preceding-sibling
    self

Komentáře • 202

  • @furkatsultonov9976
    @furkatsultonov9976 Před rokem +8

    I give you the biggest like button and I would give thousands of like buttons with just one click if it was possible )) I found everything related to XPATH concept in one video tutorial with the highest quality that I have ever found so far. Thank you for the tutorial and keep up the good work!

  • @brandonhunter3036
    @brandonhunter3036 Před rokem +33

    Yeah this is completely underrated. Frankly better quality than many paid tutorials out there and far better explanations given. Very well done!👏👏

  • @kendriip
    @kendriip Před 3 lety +10

    This is a underrated video and am telling you this saved me hours of possible research.

    • @Valentin439
      @Valentin439 Před 3 lety

      Yep. It helped me so many times with this information

  • @gyohza
    @gyohza Před 10 měsíci +1

    I didn't really even need to learn XPath, but you made this such a breeze to go through and I'm so glad I did. Thanks!

  • @jetray5914
    @jetray5914 Před 2 lety +11

    This was super super helpful, I will definitely be referring to this as a cheat sheet for a long time!! thanks so much!

  • @patriotir
    @patriotir Před rokem +5

    Thank you so much for this great video! I've read so many tutorials, but you explained it very well. great job

  • @loretalobo3552
    @loretalobo3552 Před 4 lety +9

    That heirachy chart was really easy to understand. This covers almost all of xpath..Thanks a lot for making it so easy to understand.

    • @Automationzone
      @Automationzone  Před 4 lety +1

      Thank you @Loreta, i am glad that the xpath heirachy chart was helpful. Initially i was at a crossroad, to add the chart or not, now looking at your comments i am glad that i did add it.

  • @blackcloud5157
    @blackcloud5157 Před 3 lety +4

    best tutorial ever!!! I searched at lest 30 minutes for something that's easily understandable . Thank you!

  • @jeembour
    @jeembour Před 3 lety +1

    Best video on the subject ever. Thank you so much!

  • @santoshkumarsahoo3894
    @santoshkumarsahoo3894 Před rokem +1

    Thank you so much for making this video, After watching this video any one can make any X-path ,no need for any other video /class to join

  • @patss5446
    @patss5446 Před 2 lety +3

    This video has given me so much confidence... thanks a lot brother

  • @dhanashreeize
    @dhanashreeize Před rokem +1

    i swear man...i was looking for this...thank u thank u thank u....! none of the youtuber has explained in such depth...!

  • @nisarahmedqae
    @nisarahmedqae Před 3 měsíci

    this tutorial is so much exciting. covered all my doubts in a single video. i havent seen this kind of video on xpath before. thankyou so much sir

  • @abhin7508
    @abhin7508 Před 3 lety

    Thank you for making this Video. It is very useful especially those who are into automation testing.
    And thanks for adding timelines for individual topics.

  • @vinayakadam8656
    @vinayakadam8656 Před 2 měsíci +1

    This is really an amazing video which im really unaware we can write these type of xpaths in here, really greatvideo all thanks to you.

  • @TazMusicProductions
    @TazMusicProductions Před rokem +2

    This is great. Helped me tremendously. Just started a script 2 weeks ago I was lost.

  • @3VAudioVideo
    @3VAudioVideo Před 3 lety +1

    Excellent Tutorial! It provided great coverage, awesome examples and all done at a very good pace! Wish everyone could do FANTASTIC tutorials like yours! Thanks SOOOOO MUCH!!!

    • @Automationzone
      @Automationzone  Před 3 lety +1

      Wow, one of the best comments I have got so far.. it's ppl like you who motivate me to make more content.. thanks a lot for taking the time out to comment on my videos, I Highly appreciate it..

    • @3VAudioVideo
      @3VAudioVideo Před 3 lety +1

      @@Automationzone I've been doing QA Automation since 1996 (SilkTest, WinRunner, QTP, some LoadRunner, some Soap UI Pro, Test Director), and now learning Selenium with C# and perfecting MySQL (for holding data-driven test case data, test results and list of test case information so filtered tests are driven from the database). Next is Java for JMeter and Selenium. Plus already have it so test results and steps are written to html files with screen shot links embedded. Next ,need to create a web page users can go to to view the results and to kick off and schedule test runs from the web. So I've been looking at lots of tutorials for years now and seriously, yours are are VERY VERY GOOD! I would put yours on par with "Programming with Mosh" but I like your a little pace better. So glad I found your channel. Already subscribed!

  • @mariatahir7686
    @mariatahir7686 Před 2 lety

    Your Tutorial is amazing containing all the information which I was confused about. Thank you so much.

  • @rupakumari9704
    @rupakumari9704 Před 3 lety +1

    best tutorial ever. very informative. very nicely explained !!

  • @Mery_Abaeva
    @Mery_Abaeva Před 2 lety +1

    You saved my time and efforts, thank you so much!

  • @sherxdavid
    @sherxdavid Před rokem +3

    This is indeed underated video tutorial, keep up the good work and hope to see more updated videos as alot has changed since this was posted, thank you so much!!!

    • @Automationzone
      @Automationzone  Před rokem

      Thank you..will try to keep up with new content. Thank you for your motivational words !! 😃

  • @aflyingtoaster6096
    @aflyingtoaster6096 Před 3 lety +1

    thanks man , you just saved me hours of research

  • @FlyingDutchman5705
    @FlyingDutchman5705 Před rokem +1

    It's the best tutorial on Xpaths. Thank you sir!

  • @SirOreo62
    @SirOreo62 Před rokem +2

    Excellent presentation. I was well organized, easy to understand and follow. You explain concepts clearly and effectively. Much appreciated.

  • @tarunkumar-gz1fn
    @tarunkumar-gz1fn Před 8 měsíci

    One of best video on xpath. Cleared most of my doubts. Thank you.

  • @nandashivaprasad6159
    @nandashivaprasad6159 Před 2 lety +1

    AWESOME IS THE WORD FOR YOU ... You explained it so well .. I could have not asked for anything else .

    • @Automationzone
      @Automationzone  Před 2 lety

      Thank you Nanda for you kind words. Do subscribe for more content 👍

  • @lovepreetkaur2676
    @lovepreetkaur2676 Před 5 měsíci

    Really appreciate the effort for creating the example pages where we can practice. It was really really helpful. will look forward to new videos from you. It saved a lot of time and Thank God, I got this video soon and didnt waste time on other tutorials. I feel confident that I can implement this now :)

  • @DamoOne
    @DamoOne Před rokem +1

    Great tutorial. Thank you!

  • @raghavendrahk9275
    @raghavendrahk9275 Před rokem

    Bro you are simply awesome .I got to know many things which i didn't know earlier. appreciate your effort 👏👏.

  • @sulaimanNabi
    @sulaimanNabi Před 2 lety +1

    VERY HELPFUL !!! You made it very simple for the beginners. Thank you so much.

    • @Automationzone
      @Automationzone  Před 2 lety

      Thank you Sulaiman, do subscribe for more such tutorials 👍

  • @rarunkumar2005
    @rarunkumar2005 Před 3 lety

    Thanks a lot for your clear explanation on xpath.

  • @patilnilesh9668
    @patilnilesh9668 Před 2 lety

    Simple and informative liked his effort and teaching skill keep up this good work.

  • @gudia7702
    @gudia7702 Před rokem +1

    Best xpath video so far….thank you for nice presentation!

  • @louielee3583
    @louielee3583 Před rokem

    Amazing video, thank you!

  • @vivekkulkarni5081
    @vivekkulkarni5081 Před 2 lety

    Thanks a lot sir you had helped me lot in clearing my doubts.

  • @johnguyenecom
    @johnguyenecom Před 9 měsíci

    This is the best vid I ever seen.Easy to understand

  • @vamshikiran36
    @vamshikiran36 Před 4 lety +1

    Thanks, very informative. And the explanation with examples is awesome

    • @Automationzone
      @Automationzone  Před 4 lety +1

      Thank you @Vamshi, i am glad that you found my explanations useful. This encourages me to add more videos to the playlist

  • @MomchiBro
    @MomchiBro Před rokem +1

    Great explanation man! Watched numerous videos before this one and i wasn't able to understand the xpaths good. Now i feel confident!! Keep up the good work! Subscribed

  • @vaibhavathawale677
    @vaibhavathawale677 Před 3 lety

    Very nice explanation... Easy to understand. Thanks.

  • @jeffrey8154
    @jeffrey8154 Před 3 lety +1

    One thing I do want to say before you read the rest of the text.Your explanation of the Xpath concept is the best video I have come across yet.
    I really wish you was showing a larger screen area of the HTML so we can see the context.a good example of where a larger area would have helped is at 21:00. I can't seethe HTML tree so I could clearly under stand the index and the context. The text above isn't really as important to show the full body of text if you are busy explaining the HTML.

  • @vampirekabir
    @vampirekabir Před 3 lety +1

    best tutorial ever!!

  • @devanarayanababu1996
    @devanarayanababu1996 Před 3 lety

    Top notch Content!

  • @lalithamocherla8110
    @lalithamocherla8110 Před 2 lety

    Thanks.. very well explained and finally found a best video in utube for xpath🤗🤗🤗 👏👏💯

  • @sauravmaity7490
    @sauravmaity7490 Před 2 lety +1

    This is very well curated. Loved it ❤

    • @Automationzone
      @Automationzone  Před 2 lety

      Thanks Saurav !! So subscribe for more tutorials 👍

  • @renne2467
    @renne2467 Před rokem

    What a wonderful video ❤

  • @f.a5148
    @f.a5148 Před 11 měsíci

    i have watched a lot of videos, but this video is unique thanks a lot brother.

  • @abhinavkale4632
    @abhinavkale4632 Před 3 měsíci

    great content. Found everything here.

  • @wuajaz91
    @wuajaz91 Před 3 lety +1

    Thanks, after watching this video I am able to handle with web scraping faster.
    In my opinion adding some demo sites for testing is a superb idea!
    What a shame that not so many people have watched it. ;)

  • @skillguunarcade302
    @skillguunarcade302 Před rokem

    excellent job. contains very good information.

  • @mahidhars6778
    @mahidhars6778 Před 2 lety

    Thanks a lot sir . The video was very informative .

  • @syronox5357
    @syronox5357 Před 2 lety

    thank you this was very helpful

  • @murugananthamn6880
    @murugananthamn6880 Před 3 lety +1

    Good informative video!!

  • @RameshRamesh-me4gm
    @RameshRamesh-me4gm Před 3 lety

    You are amazing!!

  • @MdRahaman-pj9rc
    @MdRahaman-pj9rc Před rokem +2

    Excellent and excellent. Very grateful to You.💕💕

  • @pragadeeshas
    @pragadeeshas Před 2 lety +1

    Look like deep dive into an ocean 🌀🌊🏊 Hats off for the video

    • @Automationzone
      @Automationzone  Před 2 lety

      Thats a unique comment. Thanks Progadeesh for your support. So subscribe for more such content 👍

  • @preetk4690
    @preetk4690 Před 3 lety

    Best tutorial. thanks

  • @victorferreirapereira1502

    Such a great content!

  • @kumbharsangita6391
    @kumbharsangita6391 Před rokem +1

    superb explaination ..in simple word..

  • @vedantapreetham7383
    @vedantapreetham7383 Před 21 dnem

    Excellent teaching

  • @preeti3911
    @preeti3911 Před 2 lety +1

    Hi. Thank you for such easy explaination. Really appreciate your efforts. 👌😃

    • @Automationzone
      @Automationzone  Před 2 lety

      Thank you Preeti for your support. Do subscribe for more content 👍

  • @mohitchoudhary9008
    @mohitchoudhary9008 Před 3 lety

    Amazing, best

  • @sushma2223
    @sushma2223 Před 3 lety

    Thank you so much 🙏🙏🙏

  • @shitalpawar4512
    @shitalpawar4512 Před rokem +1

    Amazing session

  • @creatur
    @creatur Před 2 lety

    Thanks man ❤

  • @srikanthsunkara
    @srikanthsunkara Před 9 měsíci

    Wow Great Brother 🎉🎉🎉🎉

  • @willer2k
    @willer2k Před 3 lety

    thank you very much

  • @haideralihassan5053
    @haideralihassan5053 Před 3 lety

    Very Learning Video.

  • @wisegeek7756
    @wisegeek7756 Před rokem +1

    Perfect xpath course ever. thnx

  • @dineshkumbhare3882
    @dineshkumbhare3882 Před 2 lety

    Wow really nice video....

  • @user-vm7we6bm7x
    @user-vm7we6bm7x Před rokem

    nice pronunciation and perfect explanation
    continue watching at 41:36

  • @treesay5951
    @treesay5951 Před 3 lety

    Thanks a lot😊

  • @chandanmahato3437
    @chandanmahato3437 Před 2 lety +1

    really awesome training Brother.

    • @Automationzone
      @Automationzone  Před 2 lety

      Thanks Chandan, do subscribe for more tutorials 👍

  • @nagalakshmikothuru6603
    @nagalakshmikothuru6603 Před rokem +1

    Thank u very much, very much useful

  • @poreshrautofficial7076
    @poreshrautofficial7076 Před rokem +1

    Thank you sirr

  • @samratjulme8418
    @samratjulme8418 Před 2 lety

    thank u so much sir.............👌👌👌👌👍👍👍👍👍👍👍

  • @suprabathj7843
    @suprabathj7843 Před 3 lety

    Nice one

  • @divyanshuanand3396
    @divyanshuanand3396 Před rokem +1

    your videos are of great help..plz come up with more frequency

  • @qaz8661
    @qaz8661 Před 2 lety +1

    Thank you!!

  • @jayasandeepaagadu5660
    @jayasandeepaagadu5660 Před 11 měsíci +1

    Super bro thank you soo much really

  • @pjumesh
    @pjumesh Před rokem +1

    Really cool.. nice explanation...

  • @Funnyvideos____2
    @Funnyvideos____2 Před rokem +1

    This video is very helpful

  • @TheShelar
    @TheShelar Před 3 lety +12

    42.25
    translate ( "abcd", "b", "x") = axcd
    translate ( "abcd", "bd", "xy") = axcy
    please correct this, rest video is very helpful.
    Thanks ✌🏻

  • @41_hrishikeshpawar8
    @41_hrishikeshpawar8 Před rokem +1

    Indeed a very great and useful tutorial. It would be good if the tutorial started with 3-4 mins of theory about XPATH, like what it is and its uses. But anyways we can google. Thank you for this tutorial.

    • @Automationzone
      @Automationzone  Před rokem

      Ya.. that's a good thing to have.. will make a note of this.

  • @Fewerwordsmoretimes
    @Fewerwordsmoretimes Před 2 lety +1

    I like it

  • @yugash4474
    @yugash4474 Před rokem

    Bro... you literally saved me bro.
    I didn't skipped even once in this vedio. It was that good 💯
    Thanks a lot. I'll definitely forward this vedio to others who need this

  • @suhaibalrabee9399
    @suhaibalrabee9399 Před rokem

    Thanks!

    • @Automationzone
      @Automationzone  Před rokem

      @Suhaib - You are the first Person to Super Thank Me !! I will remember your name buddy !! Will be sure to mention you in the upcoming video :)

  • @joshuamarcano350
    @joshuamarcano350 Před 2 lety

    Fire !

  • @polyconhousewares1187
    @polyconhousewares1187 Před rokem +1

    Bookmark:
    👉All elements are 1st child : 20.16
    👉Partial match: 28.00
    //p[contains(text(),'in successfully')]
    (//p[contains(@class, 'css-17n507x')])[1]

  • @hetalpatel45
    @hetalpatel45 Před 2 lety

    really nice in depth video, thank you , can you make video on css pls

    • @Automationzone
      @Automationzone  Před 2 lety

      Here u go -
      czcams.com/video/aMLENDW0QKE/video.html

  • @mv8167
    @mv8167 Před rokem +1

    Great job, best Locator video yet. I have a question, if you would help. I gave a 5-column by the 50-row table. I need to find a name in the 5th column and then return the matching 1st and second column data using the the Xpath or CSS locator. is this using ./ and ././?

    • @Automationzone
      @Automationzone  Před rokem

      This is one way we can implement this
      A table is made of three tags
      Table --> Table Row ( TR ) --> Table Data ( TD )
      there might be more tags in between this.. but these will always be there
      Step 1 - get the TD with ur data
      String elementText = "element_text_value";
      WebElement element = driver.findElement(By.xpath("//td [ text() = '" + elementText + "']"));
      Step 2 - find the Row it belongs to
      WebElement row = element.findElement(By.xpath("./ancestor::td[1]"));
      note u can combine step 1 and 2.. but try not to do that.. it will be difficult to debug if needed.
      Step 3
      Now u have the row.. find ur TD via index after u get the list of elements in that row
      List data = row.findElements(By.xpath("//td"));
      data.get(0).getText();
      data.get(1).getText();

  • @user-bc8su2vi1s
    @user-bc8su2vi1s Před 5 měsíci

    Good session 🙂

  • @akhilaarelly2771
    @akhilaarelly2771 Před 2 lety

    explain about preccendig sibling sir

  • @DeadSilence315
    @DeadSilence315 Před rokem +1

    I actually feel like I understand how to do this now, thank you so much! I have a question along the lines of your string length example. In the following example, how would I write an xpath for the width being greater than 40px?
    I'm successfully using the below path, but I'm curious if there's a better way:
    [contains (@class,'grid-wrapper') and not (@style='width: 40px;')]
    Thank you!

    • @Automationzone
      @Automationzone  Před rokem +1

      Try this.. not sure if it will work.. but work around these lines
      [contains (@class,'grid-wrapper') and
      (number(substring-before(substring-after(@style, 'width:'),'px;')) > 39 )]

    • @DeadSilence315
      @DeadSilence315 Před rokem

      @@Automationzone this worked on the first try, thanks again!

  • @krishnabhanushali5690
    @krishnabhanushali5690 Před 4 měsíci

    At the time of explaining the syntax for xpath, why didn't you covered use of *, I felt like you are reading it from somewhere

  • @smbdekort
    @smbdekort Před rokem

    good vid thx for the knowledge, only thing is you typed at 42:10 bxcd while you said axcd and which it should be if I understand correctly by your explanation and the context

    • @Automationzone
      @Automationzone  Před rokem

      Yes, that was a mistake on my side. Glad u liked the content!!😃

  • @shankarraj3433
    @shankarraj3433 Před 2 lety

    Hi, what is the main difference between these two XPaths.
    //div[@id='B2']/following::* => (1 of 228)
    //div[@id='B2']//following::* => (1 of 236)

  • @thatgirldivaa
    @thatgirldivaa Před 4 lety +3

    Interesting video to learn xpath. I tried one xpath for icon (...) exist below this video and next to save icon. Xpath I created (//button[@id='button']/yt-icon[@class='style-scope ytd-menu-renderer'])[1] . Not sure Is it a correct way.

    • @Automationzone
      @Automationzone  Před 4 lety +1

      For any any video
      //ytd-video-primary-info-renderer//button[@aria-label='More actions']
      Reason :-
      ytd-video-primary-info-renderer = Present for all videos
      button[@aria-label='More actions'] = actions (...) for the video
      If you just give (//button[@aria-label='More actions'])[1] , this can fail if there is another button with the same label, you want to be specific, button for the video only.
      For Specific video
      //*[text()='Complete Xpath from Basic to Advance | 14 Xpath Function | All Xpath AXES | Xpath tutorial']/ancestor::ytd-video-primary-info-renderer//button[@aria-label='More actions']
      //*[text()='VIDEO_TITLE']/ancestor::ytd-video-primary-info-renderer//button[@aria-label='More actions']

    • @thatgirldivaa
      @thatgirldivaa Před 4 lety

      @@Automationzone thanks for reply. How much you prefer xpath from chropath in daily testing.

  • @mulanisahil640
    @mulanisahil640 Před 3 měsíci

    why my web element is not highlighted when I using key ctrl + F

  • @charmikesariya175
    @charmikesariya175 Před 5 měsíci

    Its good course with Encora1 less complexity

  • @nikhileshm.s8868
    @nikhileshm.s8868 Před 3 lety

    when I click on the demo page 1 link and press F12 for opening the xpath console, it going to airplane mode but not opening the console please help.

    • @Automationzone
      @Automationzone  Před 3 lety

      You may be using a laptop where function keys have alternative use.
      Like turn off screen, wifi, brightness etc.
      U might have to press the function key + F12
      U can turn this feature off from the bios I guess.
      Do look at the laptop manual for more details