C#&;HTML敏捷包-返回Null

C#&;HTML敏捷包-返回Null,c#,html,xcode,select,html-agility-pack,C#,Html,Xcode,Select,Html Agility Pack,我想制作一个控制台应用程序,当我输入他们的频道时,返回他们有多少订户。我目前正在从Console.ReadLine()下载html搜索页面。当我添加了一个.Save以查看下载是否有任何输出时,这将返回一个成功的html页面。但是,当使用xcode删除html时,它返回null。我曾多次尝试使用谷歌Chrome copy xcode,但都没有成功 以下是我目前掌握的代码: public static void GetYoutubeSubscriptions2() {

我想制作一个控制台应用程序,当我输入他们的频道时,返回他们有多少订户。我目前正在从Console.ReadLine()下载html搜索页面。当我添加了一个.Save以查看下载是否有任何输出时,这将返回一个成功的html页面。但是,当使用xcode删除html时,它返回null。我曾多次尝试使用谷歌Chrome copy xcode,但都没有成功

以下是我目前掌握的代码:

    public static void GetYoutubeSubscriptions2()
    {
        string url = "https://www.youtube.com/results?search_query=" + Regex.Replace(Console.ReadLine(), @"\s+", "+");

        Console.WriteLine(url);

        HtmlWeb web = new HtmlWeb();
        HtmlDocument document = web.Load(url);
        //document.Save(path1);

        var htmlNodes = document.DocumentNode.SelectNodes(@"//*[@id=""section - list - 231763""]/li[3]/div/div[2]/div[3]/span/span[1]");

        foreach (var node in htmlNodes)
        {
            Console.WriteLine(node.InnerText);
        }

        Console.ReadLine();
    }
任何帮助建议都将不胜感激!:)

这就是您需要的:

var htmlNodes = document.DocumentNode.Descendants("span").FirstOrDefault(_ => _.HasClass("yt-subscriber-count"));
这是HasClass的扩展名

public static bool HasClass(this HtmlNode node, params string[] classValueArray)
{
      var classValue = node.GetAttributeValue("class", "");
      var classValues = classValue.Split(' ');
      return classValueArray.All(c => classValues.Contains(c));
}

谢谢你的回答!对于使用此解决方案的任何其他人,请确保将HasClass放在静态类中!