2016-04-25 2 views
1

Ich habe einen HTML-Code, wie dieseXpath wählt nur einige tr

<table> 
<tr> 
    <th><a href="example.html" title="exemple_title_th"></a><th> 
    <td></td> 
    <td></td>  
<tr> 
<tr> 
    <td><a href="example2.html" title="exemple_title_td"></a><td> 
    <td></td> 
    <td></td>  
<tr> 
<tr> 
    <td><a href="example3.html" title="exemple_title_td"></a><td> 
    <td></td> 
    <td></td>  
<tr> 
<tr> 
    <th><a href="example4.html" title="exemple_title_th"></a><th> 
    <td></td> 
    <td></td>  
<tr> 

Und ich will nur die tr, die keine th Tag haben. Ich habe versucht, diese XPath:

//a[@title="exemple_title_th"]/following::tr 

aber es gibt alle tr nach dem ersten ein, einschließlich der folgenden tr, die den th-Tag enthalten, die ich nicht will. Was ist falsch in diesem Code?

Antwort

2

Ihr xpath, //a[@title="exemple_title_th"]/following::tr, verwendet die folgende Achse, die alle folgenden tr Elemente in der Dokumentreihenfolge auswählen soll.

Um tr Elemente in dem gesamten Dokument auswählen, das ein th Kind nicht hat, können Sie eine einfache XPath verwenden wie:

//tr[not(th)]