如何获取给定类型的所有最深元素?

sou*_*eam 2 python xpath lxml

<table>
   <tr>
      <td>cell 1</td>
   </tr>
   <tr>
      <td><b>cell 2</b></td>
   </tr>
   <tr>
      <td>
         <table>
            <tr>
               <td><span>cell 3</span></td>
            </tr>
         </table>
      </td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我可以使用 XPath 获取<td>cell 1</td>,<td><b>cell 2</b></td><td><span>cell 3</span></td>但不能获取外部<td><table>...(因为它有一个嵌套的td内部)?

请注意,这里的内部table只是一个示例。我想要最深层的td元素,这意味着它们不能有另一个td作为后代。

XPath 1.0 是首选,因此我可以使用lxml.

是一个类似的问题,但在这里我知道我想要td元素。

小智 5

//td将返回td文档中的所有内容。

//td[not(.//td)]将返回每个td不包含(作为其后代之一)td元素的元素。