这是为了向所有相似的(但是太具体的问题,成为一个近距离目标候选人)提供规范的问答,每周弹出一到两次.
我正在开发一个应用程序,需要解析一个包含表格的网站.由于派生用于抓取网页的XPath表达式是无聊且容易出错的工作,我想使用Firebug的XPath提取器功能(或其他浏览器中的类似工具).
示例输入如下所示:
<!-- snip -->
<table id="example">
<tr>
<th>Example Cell</th>
<th>Another one</th>
</tr>
<tr>
<td>foobar</td>
<td>42</td>
</tr>
</table>
<!-- snip -->
Run Code Online (Sandbox Code Playgroud)
我想提取第一个数据单元格("foobar").Firebug提出了XPath表达式
//table[@id="example"]/tbody/tr[2]/td[1]
Run Code Online (Sandbox Code Playgroud)
它适用于任何XPath测试器插件,但不适用于我自己的应用程序(未找到结果).如果我将查询减少到//table[@id],它会再次起作用.
出了什么问题?