Forum Discussion

longchasen's avatar
longchasen
Contributor
5 years ago

Xpath compare whole NOBR

i have element structrure like this :

 

<td class="csC31EF637" >

           <nobr>INVRCT-</nobr><br><nobr>4072</nobr>

</td>

 

 

i wanted to query the inside as one like this 

 

//td[@class="csC31EF637"]/nobr[text()="INVRCT-4072"]

 

somehow this is not working

  • if you use /nobr you'll see there are two, on the same level you can't have both, you need to go to parent (<td>):

     

    //td[@class="csC31EF637" and text()="INVRCT-")]
    //td[@class="csC31EF637" and text()="4072")]

     

     

    I usually do a print of the innerHTML attribute if I'm unsure:

     

    els = driver.find_elements(By.XPATH, "//td[@class='csC31EF637']/nobr")
    for el in els:
        print(el.get_attribute('innerHTML'))

     

     

     

  • if you use /nobr you'll see there are two, on the same level you can't have both, you need to go to parent (<td>):

     

    //td[@class="csC31EF637" and text()="INVRCT-")]
    //td[@class="csC31EF637" and text()="4072")]

     

     

    I usually do a print of the innerHTML attribute if I'm unsure:

     

    els = driver.find_elements(By.XPATH, "//td[@class='csC31EF637']/nobr")
    for el in els:
        print(el.get_attribute('innerHTML'))

     

     

     

    • sonya_m's avatar
      sonya_m
      SmartBear Alumni (Retired)

      Thank you for helping mortenb123!

       

      Hi longchasen ! Have you tried the suggestion yet? Please let us know how it went🙂