首页 新闻 会员 周边

急!!在线等!100分向高手请教!用C#如何读取chrome浏览器开发人员工具Elements中html内容

0
悬赏园豆:100 [已解决问题] 解决于 2011-03-22 12:51

描述:
  我们都知道用浏览器直接“查看源码”就可以得到页面的html内容,但在html里没动态生成的信息。而我们用浏览器(IE、chrome、火狐)在开发人员工具里,看到的html里有我们在“查看源码”里看不到的数据。

问题:如何用C#取出“开发人员工具”里看到的html内容

不知道 问题描述清楚了没有,请高手们帮忙!

问题补充: 我先举个例子,如这个网址:http://blog.sina.com.cn/s/blog_476e068a01017k9g.html?tj=1,我需要用C#编程取出页面里评论内容,注意评论内容好像是动态生成显示的,我现在不知道如何用编程实现,帮帮我。。。谢谢
v超的主页 v超 | 初学一级 | 园豆:51
提问于:2011-03-11 16:42
< >
分享
最佳答案
0

你的意思应该是这样把:
如果直接获取HTML源码到本地(HttpRequest类), 代码里面的js就不会执行,就拿不到js执行后的html代码。
可以用winform中的webbrowser,解析webbrowser。应该可以。

收获园豆:80
shenopkss | 菜鸟二级 |园豆:310 | 2011-03-11 18:55
嗯,我就是这意思,具体应该如何实现呢?请帮帮忙,谢谢
v超 | 园豆:51 (初学一级) | 2011-03-12 11:35
可以去研究一下webbrowser控件。他提供丰富的编程功能。
shenopkss | 园豆:310 (菜鸟二级) | 2011-03-15 17:41
这样就可以读取全部的html标签了,注意要在全部加载完成,包括动态生成的html

System.Windows.Forms.HtmlDocument document = this._webBrowser.Document;

_innerHTML = document.Body.InnerHtml;

还有让垂直滚动条移动:
_webBrowser.Document.Window.ScrollTo(0, _webBrowser.Document.Window.Size.Height);
v超 | 园豆:51 (初学一级) | 2011-03-22 12:51
其他回答(2)
0

如果你的意思是在项目你看人家代码看不到   那是人家封装了  你可以用反射打开

收获园豆:10
小w威 | 园豆:37 (初学一级) | 2011-03-11 17:17
0

html内容都是从服务器返回的,如果有差别可能是工具做了一些处理,你去原始的内容就可以,C#中使用HttpRequest或WebClient直接获取URL的内容就是原始的。

收获园豆:10
2012 | 园豆:21230 (高人七级) | 2011-03-11 17:46
在原始内容的基础上,Elements可以使用DOM的方式解析出来,如库HtmlAgility(codeplex.com上有)
支持(0) 反对(0) 2012 | 园豆:21230 (高人七级) | 2011-03-11 17:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册