2009-07-21 1 views

答えて

13

まず、クラス名がXYZのdivを探したいと言ったので、なぜ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 
    } 
} 

「class」の代わりに「className」を使用すると、適切なクラスの名前が表示されます。 "class"だけを使用すると、空の文字列が返されます。これはMSDN - SetAttributeに記載されていますが、GetAttributeには記載されていません。だからそれは少し混乱の原因になります。

関連する問題