Html Agility Pack - XPath不能使用contains

时间:2016-02-08 19:22:47

标签: c# html xpath html-agility-pack

我遇到了以下问题: 我使用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/')]

显然,工作解决方案确实容易出错。

0 个答案:

没有答案