Html XPath选择未知类型的元素

Html XPath选择未知类型的元素,html,xpath,Html,Xpath,我有一个HTML表格: <table> <tr> <td> <div class="header">test</div> </td> <td> <div class="header"> <div class="subheader"> <span>test2<

我有一个HTML表格:

<table>
  <tr>
    <td>
        <div class="header">test</div>
    </td>
    <td>
        <div class="header">
            <div class="subheader">
                <span>test2</span>
            </div>
        </div>
    </td>
  </tr>
</table>
因此,查询结果将是:

Text='test'Text='test2'


多亏了@Andersson,我成功地选择了
中最深的元素

查询如下所示:

//table/tr/td/descendant::*[last()]
查询结果为:

Element='test'Element='test2'

哪些节点值是:

Element='test'Element='test2'


大家非常感谢你们的努力,也很抱歉接受了实际上并不正确的答案。

你好,埃尔维奈,请看祖先或自我。您只需使用
//table/tr/td//text()
没有必要使用
last()
谢谢,但使用此解决方案,我需要知道选择哪个索引,例如,我得到了:“test”、“,”,test2,“,”@3lvinaz,我在提供的HTML样本上没有看到
,“
节点对于XPath中真正最深的节点选择,请注意,这仍然不会选择最深的子代,而是最后一个。例如,在
test2test3
上,您将得到test3而不是test2。这一点您是对的,但在我的场景中,这个查询非常适合,因为我们只有一个最深的元素,但将来可能会有不止一个。那么,您可能误解了最深的含义@保罗·克罗维拉有一个非常正确的观点。请注意,您的示例太简单,无法区分最深和最后一个。
//table/tr/td/descendant::*[last()]