C# 使用Web浏览器控件按类名获取div的内容?
我有一个带有C# 使用Web浏览器控件按类名获取div的内容?,c#,.net,C#,.net,我有一个带有webBrowser1控件的表单,用于加载在其HTML部分包含以下行的页面: ... <div class="cls"> Hello World ! </div> 但是上面的代码似乎不起作用,据我所知 首先引起我注意的是:没有定义div元素的名称,它定义了它的CSS样式类。相反,请使用属性名(或两者都使用),例如: 如果只有class属性,如何获取div元素的innerText 非常感谢您的帮助。将runat=“server”和ID属性添加到div中
webBrowser1
控件的表单,用于加载在其HTML部分包含以下行的页面:
...
<div class="cls">
Hello World !
</div>
但是上面的代码似乎不起作用,据我所知
首先引起我注意的是:
没有定义div
元素的名称,它定义了它的CSS样式类。相反,请使用属性名(或两者都使用),例如:
如果只有class
属性,如何获取div
元素的innerText
非常感谢您的帮助。将runat=“server”
和ID
属性添加到div
中,如下所示:
…
<div class="cls" ID="hello_div" runat="server">
Hello World !
</div>
您应该使用
ClassName
而不是class
:
if (el.GetAttribute("className") == "cls") { … }
有关详细信息,请参见。我不能这样做。我无法访问html文档在回答任何问题时都会添加解释
string result = hello_div.InnerText; // or InnerHtml
if (el.GetAttribute("className") == "cls") { … }
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
{
}
}