我遇到了以下问题: 我使用Html Agility Pack的XPath功能来浏览一些HTML。
我尝试在我的浏览器中使用XPath(Firebug - XPath扩展),它运行良好:
//tr[contains(@data-link-to, '/test/')]
可悲的是,Html Agility Pack似乎找不到它。如果我尝试直接路径(html / body / etc),它就可以工作。
我可以使用解决方法吗?我想找到所有具有属性" data-link-to"的表行。含有" / test /"。
我做错了吗? Html Agility Pack是否使用旧版本的XPath?
HTML示例:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta content="en" name="locale">
<meta content="width=device-width, initial-scale=1" name="viewport">
</head>
<body>
<section>
<header>
<article>
<table>
<thead></thead>
<tbody>
<tr data-link-to="/test/1">
<tr data-link-to="/test/2">
<tr data-link-to="/test/3">
</tbody>
</table>
</article>
</section>
</body>
</html>
这有效
//section/article/table/tbody/tr
这不起作用
//tr[contains(@data-link-to, '/test/')]
显然,工作解决方案确实容易出错。