WinForm求高手如何获取网页中的部分内容,急!!!!!
用这个webBrowser空间获取的是整个网页的地址呀,我要获取显示在WinForm中显示某个DIV区域就好了,请问怎么做呀???
比如一个网页的源码
<html>
...................
<div>
我就要这个里面的内容 显示在WinForm里面,并且这里面的提交请求可以执行
</div>
...................
</html>
------解决方案--------------------webbrowser没怎么用过,不过推荐使用httprequest类,获取整个页面字符串,然后用正则提取相应的内容,模拟表单提交。
------解决方案--------------------webBrowser1.Document
这个是webBrowser的文档对象,剩下的,就是你提取的规则了
比如指定id,或者 第几个div等等了
------解决方案--------------------可以使用正则表达式。
string text = Regex.Match(html, @"\<div\>(.*?)\<\/div\>").Groups[1].Value;
------解决方案--------------------winform:
private string html;
public string Html
{
get { return html; }
set { html = value; }
}
/// <summary>
/// 接受html页面返回值
/// </summary>
/// <param name="returnValue"></param>
public void Register(string returnValue)
{
this.Html = returnValue;
}
html页面:
window.external.Register("楼主给分");
------解决方案--------------------HtmlAgilityPack
网页解析利器。
------解决方案--------------------winform:
private string html;
public string Html
{
get { return html; }
set { html = value; }
}
/// <summary>
/// 接受html页面返回值
/// </summary>
/// <param name="returnValue"></param>
public void Register(string returnValue)
{
this.Html = returnValue;
}
html页面:
------解决方案--------------------删掉 第一个行 html 的 DTD,就是<!DOCTYPE 什么的, 剩下内容作为XML载入,然后你懂的
------解决方案--------------------webbrowser好像是可以用DOM解析的。
HtmlDocument doc = webBrowser1.Document;
HtmlElementCollection eles = doc.GetElementsByTagName("DIV");