5

webBrowser1HTML 部分に次の行を含むページをロードするために使用されるコントロールを含むフォームがあります。

 ...
 <div class="cls">
 Hello World !
 </div>

innerText要素のを取得する必要がありdivます。私は次のことを試しました:

 string result = "";
 foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("div"))
                if (el.GetAttribute("class") == "cls")
                {
                    result = el.InnerText;
                }

しかし、上記のコードは機能していないようで、別の Web サイトの同様の質問に対する解決策 1 によると、次のように述べられています。

最初に私の目を引いた<div class="thin">のは、要素の名前を定義するのではなく、divその CSS スタイル クラスを定義することです。代わりに、属性名 (または両方) を使用します。例: <div class="thin" name="thin">.

属性しかない場合innerTextdiv要素の を取得するにはどうすればよいですか?class

どんな助けでも大歓迎です。

4

3 に答える 3

0
        HtmlDocument doc = webBrowser1.Document;
        HtmlElementCollection divs = doc.GetElementsByTagName("div");

        foreach (HtmlElement div in divs)
        {
            try
            {
                var info = div.DomElement;
                PropertyInfo[] pi = info.GetType().GetProperties();

                string strClass = pi[0].GetValue(div.DomElement).ToString();

                if (strClass == "cls")
                {
                        //DoStuff
                }
            }
            catch
            {

            }
        }
于 2015-07-24T14:00:34.053 に答える