2016-04-01 25 views
2

ich will "U10 Boys" Text auf der Grundlage von "2014 Frühling Freizeitaktivitäten Fußball" Text aus der folgenden HTML-Struktur unter Verwendung von XPath suchen:Locate Element mit XPath

<div> 
    <div> 
    <table> 
     <thead> 
     <tr> 
      <td> 
      <table> 
       <tbody> 
       <tr> 
        <td > </td> 
        <td > 
        <span>2014 Spring Recreation Soccer</span> 
        </td> 
       </tr> 
       </tbody> 
      </table> 
      </td> 
     </tr> 
     </thead> 
    </table> 
    </div> 

    <div> 
    <table > 
     <tbody> 
     <tr > 
      <td >1</td> 
      <td > 
      <b> 
       <span >U10 Boys</span> 
      </b> 
      </td> 
     </tr> 
     </tbody> 
    </table> 
    </div> 
</div> 

Ich habe versucht folgende XPath, aber es ist nicht Arbeiten.

//span[contains(text(), "U10 Boys")]//following-sibling::table/thead/tr/td[1]/table/tbody/tr/td[2]/span[contains(text(), "2014 Spring Recreation Soccer")] 
+0

The Am schnellsten finde ich Firebug (in Firefox) zu verwenden, klicke mit der rechten Maustaste auf ein Element und wähle 'Copy as XPath' – LDJ

Antwort

2

können Sie auf diese Weise versuchen:

//div[table[contains(., "2014 Spring Recreation Soccer")]/following-sibling::div[1]//span[contains(.,"U10 Boys")] 

Erklärung:

  • //div[table[contains(., "2014 Spring Recreation Soccer")]: Finden Sie div Element, irgendwo im Dokument, in dem untergeordneten Element table Text enthält "2014 Spring Recreation Soccer"

  • /following-sibling::div[1]: aus solchen div Navigieren zur nächsten folgenden Geschwister div ...

  • //span[contains(.,"U10 Boys")]: ... und das Rückelement, das spandiv Text "U10 Boys" innerhalb der Geschwister enthält

+0

Es funktioniert jetzt, Vielen Dank. – NarendraR

+0

@NarendraRajput Großartig! Bitte schön. Vergessen Sie nicht, die Antwort zu akzeptieren (http://stackoverflow.com/help/someone-answers), da sie das Problem löst. Vielen Dank – har07