不使用WebBrowser怎么得到执行js后的网页DOM? 给一个URL,得到执行好js后的DOM,就好像在IE里得到的一样,不能用walkall例子里的方法,据说他对js的执行有问题,MS不建议使用。除了内嵌个webbrowser在后台下载,还有什么更好的办法吗?如果能解决,我再加分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 总要有个东西来解释执行js吧...想不到什么比内嵌 IWebBrowser2 对象更简单的方案了gz 对了,这里有片文章 Lightweight HTML Parsing Using MSHTML但是不知道是否对js动态生成的DOM有效,你可以试试看 谢谢,我看了下,他注释里说不执行js之所以不想用webbrowser,一个是臃肿,很占内存,很慢,第二是我想同时下载好几个url的,总不能创建好多个webbrowser吧实在是想不出办法了 简单说,我想做一个下载网页并保存在本地的工具下载网页没问题,问题是在解析js上,如果有办法可以直接调用IE的js引擎执行下载下来的网页里的js,生成DOM就行了。 我感觉必须要用webbrowser,因为JS会涉及到DOM,BOM等,都和控件本身相关。 没别的办法了么?别的内核也可以,不知道chrome行不行只要不需要UI的就行 chrome,firefox应该都行吧。但是难度应该比IE大。 不用浏览器根本不会实现Js的执行后传输,无GUI完全不会获得最终的页面结果。只能得到一开始的,而不能得到渲染后的。 没有GUI应该没关系啊,不管窗口多大,有没有窗口,网页的DOM是不变的,我只要这个DOM我就是要批量保存网页到本地,JS,图片什么的我都自己下载,但最后需要执行一下JS,现在的问题就是,必须有个webbrowser才能执行这个JS,因为是一直运行着的一个小工具,我不想嵌入一个webbrowser了,太占内存。 之所以说MSHTML对JS的支持不好,不是指MSHTML不能正确执行JS,而是某些部件的协调工作必须由上层的浏览器控件完成,例如嵌套框架等。MSHTML本身只负责一个独立的页面,框架之间的关联(部分脚本代码可能涉及)由浏览器控件完成。一个单页面的HTML文档可以使用MSHTML很好地解析,包括脚本,但如果存在嵌套框架,脚本代码中很可能在访问其它框架文档的内容,此时纯粹使用MSHTML是不可靠的。这也是微软推荐使用浏览器控件而不是MSHTML的原因。另一方面,浏览器控件的体积太大不是浏览器控件的错,而是MSHTML组件大,还受页面内容大小影响,所以即使使用无界面的DOM解析,内存占用也不会减少多少。 多谢jameshooo,你的解释很清楚了,虽然还不能解决我的问题,不过已经让我明确了方向。也谢谢上面各位朋友。结贴! 通过SIFT求得了仿射变换矩阵,如何得到仿射变换中的旋转角度? VC/MFC斑竹群扩充,有实力者请入。 紧急 如何将文本文件转化为UTF-8格式 请教一个关于EDIT BOX如何得到回车消息的问题?????? 在下最近欲购一硬盘,各位多说说看法,来者有分! (ANSI)_gcvt 对应的 UNICODE 版函数是什么呀? 我自己新建了2个类,class A 和class B,我想在class B 中创建class A 的实体,应该怎样? 请教一个算法,非常急!提供思路可得分! 如何让EDIT控件只能接受特别的按键? 图形控件缩放 求助!Excel保存中文文件名时 显示乱码
这里有片文章 Lightweight HTML Parsing Using MSHTML但是不知道是否对js动态生成的DOM有效,你可以试试看
谢谢,我看了下,他注释里说不执行js之所以不想用webbrowser,一个是臃肿,很占内存,很慢,
第二是我想同时下载好几个url的,总不能创建好多个webbrowser吧
实在是想不出办法了
下载网页没问题,问题是在解析js上,如果有办法可以直接调用IE的js引擎
执行下载下来的网页里的js,生成DOM就行了。
只要不需要UI的就行
没有GUI应该没关系啊,不管窗口多大,有没有窗口,网页的DOM是不变的,我只要这个DOM
我就是要批量保存网页到本地,JS,图片什么的我都自己下载,但最后需要执行一下JS,
现在的问题就是,必须有个webbrowser才能执行这个JS,
因为是一直运行着的一个小工具,我不想嵌入一个webbrowser了,太占内存。
也谢谢上面各位朋友。结贴!