如何使用 c# 中的 Html Agility Pack 确定 html 中的特定 class 是否存在

How to determine if a specific class in html exists, with Html Agilty Pack in c#

我想知道网页中是否存在按编号显示的特定产品。该页面有一个搜索栏,我确定 html class "product-thumb" 仅在搜索结果为 TRUE 时出现。所以我想用 class 作为 IF 语句中 TRUE 和 FALSE 的例子。我正在使用 html agilty pack 来完成这项任务,这是我已有的代码,但它不起作用,总是 returns FALSE。我在谷歌上搜索了很多,还没有找到合适的解决方案,这就是为什么我没有在这里工作的代码。我有这样的字符串 "url" 因为我会列出很多这样的数字来检查每个产品,为一个大循环做准备,但仍然无法使这个测试代码工作。提前致谢。

        string url = "90551";
        HtmlWeb web = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        string s = "http://examplewebpage" + url;
        doc = web.Load(s);
        System.Threading.Thread.Sleep(5000);

        if (doc.DocumentNode.HasClass("//*[@class=\"product-thumb") == true)
        {
            webBrowser1.DocumentText = url + " Yes";
        }
        else
            webBrowser1.DocumentText = url + " No";

您可以只搜索包含 'product-thumb' class

的任何项目
var containsProductThumb = doc.DocumentNode
    .Descendants()
    .Any( d => 
        d.Attributes.Contains("class")
        &&
        d.Attributes["class"].Value.Contains("product-thumb")
    );
if (containsProductThumb)
    webBrowser1.DocumentText = url + " Yes";
else
    webBrowser1.DocumentText = url + " No";