我想知道网页中是否存在按编号划分的特定产品。那个页面有一个搜索栏,我确定了html类" product-thumb"仅在搜索结果为TRUE时出现。所以我想在IF语句中使用该类作为TRUE和FALSE的示例。我使用html agilty pack来完成这项任务,这里是我已经拥有的代码,但它不起作用,总是返回FALSE。我google了很多,找不到合适的解决方案,这就是为什么我不在这里工作代码的原因。我有字符串" 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";
答案 0 :(得分:1)
您只需搜索包含'product-thumb'类
的任何项目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";