社区
HTML/XML
帖子详情
不使用WebBrowser怎么得到执行js后的网页DOM?
ahao
2009-11-03 02:02:20
给一个URL,得到执行好js后的DOM,就好像在IE里得到的一样,
不能用walkall例子里的方法,据说他对js的执行有问题,MS不建议使用。
除了内嵌个webbrowser在后台下载,还有什么更好的办法吗?
如果能解决,我再加分
...全文
607
18
打赏
收藏
不使用WebBrowser怎么得到执行js后的网页DOM?
给一个URL,得到执行好js后的DOM,就好像在IE里得到的一样, 不能用walkall例子里的方法,据说他对js的执行有问题,MS不建议使用。 除了内嵌个webbrowser在后台下载,还有什么更好的办法吗? 如果能解决,我再加分
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
获取
js
执行
后的代码.zip
web
browser
获取
js
执行
后的源代码
C#
web
browser
控件
执行
js
脚本源码
找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵
使用
web
Browser
采集
网页
数据
使用
web
Browser
采集
网页
数据,对一些需要登录,或有验证的,可以在
web
Browser
控件中手动登录或验证后,在开始批量采集
web
browser
分析
网页
信息
使用
web
browser
控件分析
网页
指定id的信息,简单的网络爬虫
vfp
Web
Browser
vfp下
使用
Web
Browser
加截
网页
,在vfp中响应
网页
按钮的点击或
执行
脚本等,win10+ie11以及虚拟机下的win7+ie10通过
HTML/XML
3,055
社区成员
8,075
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章