【问题标题】:Finding node using HTML agility pack使用 HTML 敏捷包查找节点
【发布时间】:2015-03-01 17:26:14
【问题描述】:

这是 google chrome 开发工具,用于获取我正在寻找的元素。

这是我尝试获取节点的所有不同方式..

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

            doc.LoadHtml(webObject.Html);

            // HtmlNode footer = doc.DocumentNode.Descendants().SingleOrDefault(y => y. == "boardPickerInner");
            // "//div[@class='boardPickerInner']"
            //var y = (from HtmlNode node in doc.DocumentNode.SelectNodes("//")
            //         where node.InnerText == "boardPickerInner"
            //         select node.InnerHtml);

              HtmlAgilityPack.HtmlNode bodyNode = doc.DocumentNode.SelectSingleNode("//nameAndIcons");

              var xq = doc.DocumentNode.SelectSingleNode("//td[@class='nameAndIcons']");

            var x = doc.DocumentNode.SelectSingleNode("");

            HtmlNode nodes = doc.DocumentNode.SelectSingleNode("//[@class='nameAndIcons']");

            var boards = nodes.SelectNodes("//*[@class='nameAndIcons']");

谁能解释我做错了什么..?

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

    看起来您有多个带有class="nameAndIcons"span 元素。所以为了得到它们,你可以使用SelectNodes函数:

    var nodes = doc.DocumentNode.SelectNodes("//span[@class='nameAndIcons'"])
    

    【讨论】:

    • 什么是文档元素?文档节点?
    • 它指向实际的 DOM 树,用于对其执行查询。
    • 我在 htmlagility 类中没有 DocumentElement。这是一个扩展..?
    • 改用DocumentNode。我猜他们可能在较新的版本中重命名了它。
    • 我做到了,它有效,但我正在寻找的元素不存在。有没有办法加载 DOM。顺便说一句,谢谢
    猜你喜欢
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多