webBrowser控件获得html的table数据,包括Iframe


本文章主要是讲WebBrowser控件,获得html里面table的数据。

先下载一个mshtml.dll

主要逻辑如下:

//得到table的对象
IHTMLDocument2 document = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLElementCollection tables = (IHTMLElementCollection)document.all.tags("TABLE");
if (tables.item() == null)
{
//根据franme的name得到对象
HtmlDocument htmlDoc = webBrowser1.Document;
htmlDoc = webBrowser1.Document.Window.Frames["frmRpt"].Document;
string frameHtml = webBrowser1.Document.Window.Frames["frmRpt"].Document.Body.InnerHtml;

//得到所有的franme对象
HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
object j;
for (int i = 0; i < doc.parentWindow.frames.length; i++)
{
j = i;
HTMLWindow2 frame = doc.parentWindow.frames.item(ref j) as HTMLWindow2;
//if (frame.name == "frmRpt")
//{
IHTMLElementCollection tabless = (IHTMLElementCollection)frame.document.all.tags("TABLE");
if (tabless.item() != null)
{
foreach (IHTMLTable table in tabless)
{
IHTMLElementCollection tts = table.rows;//因为TH标签是属于表格的表头信息;
foreach (IHTMLElement th in tts)
{
foreach (IHTMLElement td in th.children)
{
string ts = td.innerHTML;
}
}
}
// }

}
}
}
else
{
foreach (IHTMLTable table in tables)
{
IHTMLElementCollection tts = table.rows;//因为TH标签是属于表格的表头信息;
foreach (IHTMLElement th in tts)
{
foreach (IHTMLElement td in th.children)
{
string ts = td.innerHTML;
}
}
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM