我有以下webpage:
我正在尝试抓取具有ID和类名的字段:
label =
node.SelectSingleNode(
".//h3[@class='item_header']"
).InnerText.Replace("Label: ","").Trim();
Console.WriteLine(label);
但是,我正在努力弄清楚如何获取文字:
如何在没有ID或类的标签中解析文本,如下所示?
<b>Label Cat. #: WEST 3007/8</b>
如果它有用,这里是唯一的选择器:
#\31 42248 > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > b:nth-child(1)
答案 0 :(得分:3)
HTML Agility Pack有一个配套的CSS Selector库,您可以在其中使用问题中的选择器来查找元素。
https://www.nuget.org/packages/HtmlAgilityPack.CssSelectors/
答案 1 :(得分:0)
您拥有该表的ID。你可以从那里出发。
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//table[@id='142248']//b");
foreach (HtmlNode n in nodes)
{
if (n.InnerText.ToLower().Contains("label"))
{
Console.WriteLine(n.InnerText);
}
}
上面代码中的xpath为您提供了表中id为142248的所有内容。