社区
HTML/XML
帖子详情
不使用WebBrowser怎么得到执行js后的网页DOM?
ahao
2009-11-03 02:02:20
给一个URL,得到执行好js后的DOM,就好像在IE里得到的一样,
不能用walkall例子里的方法,据说他对js的执行有问题,MS不建议使用。
除了内嵌个webbrowser在后台下载,还有什么更好的办法吗?
如果能解决,我再加分
...全文
652
18
打赏
收藏
不使用WebBrowser怎么得到执行js后的网页DOM?
给一个URL,得到执行好js后的DOM,就好像在IE里得到的一样, 不能用walkall例子里的方法,据说他对js的执行有问题,MS不建议使用。 除了内嵌个webbrowser在后台下载,还有什么更好的办法吗? 如果能解决,我再加分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ahao
2009-11-04
打赏
举报
回复
我顶。。大虾们,出手啊
ahao
2009-11-04
打赏
举报
回复
多谢jameshooo,你的解释很清楚了,虽然还不能解决我的问题,不过已经让我明确了方向。
也谢谢上面各位朋友。结贴!
jameshooo
2009-11-04
打赏
举报
回复
之所以说MSHTML对JS的支持不好,不是指MSHTML不能正确执行JS,而是某些部件的协调工作必须由上层的浏览器控件完成,例如嵌套框架等。MSHTML本身只负责一个独立的页面,框架之间的关联(部分脚本代码可能涉及)由浏览器控件完成。一个单页面的HTML文档可以使用MSHTML很好地解析,包括脚本,但如果存在嵌套框架,脚本代码中很可能在访问其它框架文档的内容,此时纯粹使用MSHTML是不可靠的。这也是微软推荐使用浏览器控件而不是MSHTML的原因。
另一方面,浏览器控件的体积太大不是浏览器控件的错,而是MSHTML组件大,还受页面内容大小影响,所以即使使用无界面的DOM解析,内存占用也不会减少多少。
ahao
2009-11-04
打赏
举报
回复
[Quote=引用 12 楼 toperray 的回复:]
chrome,firefox应该都行吧。但是难度应该比IE大。
[/Quote]
恩,要看明白这个源码。。不是很容易,关键是还不知道是否可行。
ahao
2009-11-04
打赏
举报
回复
[Quote=引用 13 楼 tr0j4n 的回复:]
不用浏览器根本不会实现Js的执行后传输,无GUI完全不会获得最终的页面结果。只能得到一开始的,而不能得到渲染后的。
[/Quote]
没有GUI应该没关系啊,不管窗口多大,有没有窗口,网页的DOM是不变的,我只要这个DOM
我就是要批量保存网页到本地,JS,图片什么的我都自己下载,但最后需要执行一下JS,
现在的问题就是,必须有个webbrowser才能执行这个JS,
因为是一直运行着的一个小工具,我不想嵌入一个webbrowser了,太占内存。
MoXiaoRab
2009-11-04
打赏
举报
回复
为什么LZ有这个需求?
MoXiaoRab
2009-11-04
打赏
举报
回复
不用浏览器根本不会实现Js的执行后传输,无GUI完全不会获得最终的页面结果。只能得到一开始的,而不能得到渲染后的。
ToperRay
2009-11-04
打赏
举报
回复
chrome,firefox应该都行吧。但是难度应该比IE大。
WecanHuang
2009-11-03
打赏
举报
回复
5跳裤衩看见分很多
蹭分兼学习
ahao
2009-11-03
打赏
举报
回复
没别的办法了么?
别的内核也可以,不知道chrome行不行
只要不需要UI的就行
ToperRay
2009-11-03
打赏
举报
回复
我感觉必须要用webbrowser,因为JS会涉及到DOM,BOM等,都和控件本身相关。
bragi523
2009-11-03
打赏
举报
回复
mark
ahao
2009-11-03
打赏
举报
回复
简单说,我想做一个下载网页并保存在本地的工具
下载网页没问题,问题是在解析js上,如果有办法可以直接调用IE的js引擎
执行下载下来的网页里的js,生成DOM就行了。
ahao
2009-11-03
打赏
举报
回复
[Quote=引用 4 楼 skyxie 的回复:]
对了,
这里有片文章Lightweight HTML Parsing Using MSHTML
但是不知道是否对js动态生成的DOM有效,你可以试试看
[/Quote]
谢谢,我看了下,他注释里说不执行js
之所以不想用webbrowser,一个是臃肿,很占内存,很慢,
第二是我想同时下载好几个url的,总不能创建好多个webbrowser吧
实在是想不出办法了
skyxie
2009-11-03
打赏
举报
回复
对了,
这里有片文章
Lightweight HTML Parsing Using MSHTML
但是不知道是否对js动态生成的DOM有效,你可以试试看
skyxie
2009-11-03
打赏
举报
回复
总要有个东西来解释执行js吧...
想不到什么比内嵌 IWebBrowser2 对象更简单的方案了
gz
fandh
2009-11-03
打赏
举报
回复
不知道,帮顶!
hhwei1985
2009-11-03
打赏
举报
回复
sf
基于
Web
Browser
控件获取JavaScript
执行
后页面源码的完整实现
本文详细介绍了如何在C#中
使用
Web
Browser
控件获取JavaScript
执行
后的页面源码。通过DocumentCompleted事件监听、InvokeScript方法调用
JS
函数,以及DocumentText属性读取最终HTML,开发者可以精准捕获动态生成的
DOM
内容。文章还讨论了浏览器渲染机制、异步资源加载监控及数据抓取的实际应用。
MFC
使用
Web
Browser
控件访问HTML页面
DOM
本文介绍如何在MFC应用中利用
Web
Browser
控件访问HTML页面的
DOM
,特别是读取如
标签的值。通过引入
头文件,可以与JavaScript交互,获取页面元素的属性信息。
C#中
Web
Browser
的
使用
本文分享了C#中
Web
Browser
控件的
使用
经验。包括加入引用的方法,介绍了控件的函数,如Navigate函数及显示自定义HTML文档的三种方法,还讲述了
网页
与应用程序的交互方式,以及应用程序操作浏览器/
网页
的方法,如ExecWB函数和调用
网页
Javascript函数等。
C#中的
Web
Browser
控件实战指南
本文深入探讨.NET Framework中的
Web
Browser
控件在C#环境的应用。介绍了其在WinForms应用集成、基本属性方法,还讲述了基于Internet Explorer引擎的特点及应用优势,包括页面兼容性方案。此外,剖析了
网页
加载机制,阐述高级应用如
执行
JavaScript、操作
DOM
元素等,也提及了控件限制与替代方案。
VB中的
Web
Browser
控件应用教程
本教程聚焦于在Visual Basic环境
使用
Web
Browser
控件,介绍了其添加方法、导航及事件处理,涵盖导航到指定URL、前进后退等操作,还阐述了与
网页
HTML内容交互、
DOM
操作、
执行
JavaScript代码、设置用户代理,以及
网页
下载进度监控和打印功能的实现,为开发者提供实用知识。
HTML/XML
3,056
社区成员
8,075
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章