Dav*_*own 9 xml groovy xpath htmlunit
希望有人可以迅速指出我的XPath困难正确的方向.
目前我已经到了我在HTML源代码中识别我需要的正确表格的那一点,但后来我只需要处理在DOM中某处有文本"Chapter"的行.
我的最后一次尝试是这样做:
// get the correct table
HtmlTable table = page.getFirstByXPath("//table[2]");
// now the failing bit....
def rows = table.getByXPath("*/td[contains(text(),'Chapter')]")
Run Code Online (Sandbox Code Playgroud)
我认为上面的xpath代表,让我所有具有后续子元素'td'的元素在其dom中的某个地方包含文本'Chapter'
我的源代码中匹配行的示例如下:
<tr valign="top">
<td nowrap="" align="Right">
<font face="Verdana">
<a href="index.cfm?a=1">Chapter 1</a>
</font>
</td>
<td class="ChapterT">
<font face="Verdana">DEFINITIONS</font>
</td>
<td> </td>
</tr>
Run Code Online (Sandbox Code Playgroud)
任何帮助/指针非常感谢.
谢谢,
您希望td当前节点下的所有节点 - 而不是 - 当前接受的答案选择的文档 中的所有节点.
用途:
.//td[.//text()[contains(., 'Chapter')]]
Run Code Online (Sandbox Code Playgroud)
这将选择td当前节点的所有后代,这些后代td具有至少一个文本节点后代,其字符串值包含该字符串"Chapter".
如果事先知道任何td下面table只有一个文本节点,这可以简化为:
.//td[contains(., 'Chapter')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19498 次 |
| 最近记录: |