如何使用xpath/htmlwebunit获取<td>标记内的值

Kri*_*uts 5 xpath jwebunit

我正在尝试创建一个从网页中检索信息的Java应用程序.这是我尝试访问第二个tr标记中第一个td标记中的值的代码的一部分:

<TABLE  CLASS="datadisplaytable" width = "100%">
<TR>
    <TD CLASS="dddead">&nbsp;</TD>
    <TH CLASS="ddheader" scope="col" ><SPAN class="fieldlabeltext">Capacity</SPAN></TH>
    <TH CLASS="ddheader" scope="col" ><SPAN class="fieldlabeltext">Actual</SPAN></TH>
    <TH CLASS="ddheader" scope="col" ><SPAN class="fieldlabeltext">Remaining</SPAN></TH>
</TR> 
<TR>
    <TH CLASS="ddlabel" scope="row" ><SPAN class="fieldlabeltext">Seats</SPAN></TH>
    **<TD CLASS="dddefault">46</TD>**
    <TD CLASS="dddefault">46</TD>
    <TD CLASS="dddefault">0</TD>
</TR>
Run Code Online (Sandbox Code Playgroud)

这就是我现在所拥有的,但这只返回td标记的类而不是其中的值:

List<?> table = page.getByXPath("//table[@class='datadisplaytable'][1]//tr[2]/td");
Run Code Online (Sandbox Code Playgroud)

我如何获取td标签的值而不是其属性?

编辑:上面的代码返回:

HtmlTableDataCell[<td class="dddefault">]
Run Code Online (Sandbox Code Playgroud)

Dim*_*hev 7

我正在尝试创建一个从网页中检索信息的Java应用程序.这是我尝试访问第二个tr标记中第一个td标记中的值的代码的一部分:

假设文档如问题中所示(TABLE是顶部元素),

用途:

/TABLE/TR[2]/TD[1]/text()
Run Code Online (Sandbox Code Playgroud)

这将选择top元素TD的第二TR个子元素的第一个子元素的任何文本节点子元素TABLE.

如果表隐藏在XML文档中,但可以通过其CLASS属性唯一标识,请使用:

//TABLE[@CLASS='datadisplaytable']/TR[2]/TD[1]/text()
Run Code Online (Sandbox Code Playgroud)

这将选择XML文档中任何TD第二TR个子节点的第一个子节点的任何文本节点子节点(我们知道这只是一个这样的元素)TABLE,这样它的CLASS属性的字符串值就是字符串'datadisplaytable'.

最后,如果更糟糕的是,可能有许多TABLE元素的CLASS属性值'datadisplaytable',并且我们想要在第一个这样的表中选择,使用:

(//TABLE[@CLASS='datadisplaytable'])[1]/TR[2]/TD[1]/text()
Run Code Online (Sandbox Code Playgroud)