Сначала вы сказали, что хотите найти div с именем класса XYZ, так почему вы ищете в webBrowser1.Documnet.Links? Сначала найдите Div, затем перейдите по ссылкам внутри него.
HtmlDocument doc = webBrowser.Document;
HtmlElementCollection col = doc.GetElementsByTagName("div");
foreach (HtmlElement element in col)
{
string cls = element.GetAttribute("className");
if (String.IsNullOrEmpty(cls) || !cls.Equals("XYZ"))
continue;
HtmlElementCollection childDivs = element.Children.GetElementsByName("ABC");
foreach (HtmlElement childElement in childDivs)
{
//grab links and other stuff same way
}
}
Также обратите внимание на использование «className» вместо «class», оно даст вам имя соответствующего класса. Использование только «класса» вернет пустую строку. Это задокументировано в MSDN - SetAttribute , но не в GetAttribute . Так что это вызывает небольшое замешательство.