标题: [系统相关] [已解决]如何使用JavaScript或者第三方工具以DOM方式分析WEB网页(HTML) [打印本页]
作者: qzwqzw 时间: 2011-4-27 08:10 标题: [已解决]如何使用JavaScript或者第三方工具以DOM方式分析WEB网页(HTML)
本帖最后由 qzwqzw 于 2011-4-30 17:04 编辑
感谢powerbat提供的htmlfile方案,问题顺利已经解决!
问题根据二楼的回复有所更新
_______________________________________________
因为实际应用所需
寻找一些批处理使用DOM方式分析网页(主要是HTML)的资料
主要是为了实现提取和修改页面表单某些元素的值
因为很少接触这个方面
感觉比较吃力
目前找到的方案
基本上都是使用JavaScript新建IE.Application对象
用IE打开网页后再获取网页的document对象
感觉这种方式效率比较低下
因为IE对网页的渲染会耗费比较多的系统资源
而目前我还未找到直接载入和保存DOM对象的方案
我需要支持DOM的第三方工具
或者可以由WSH解释的JavaScript脚本
这里高手比较多
不知道是否有这方面的专家?
提供参考链接
或者原型化代码均可
作者: firefly 时间: 2011-4-27 10:32
1# qzwqzw
这里有一个关于DOM的Bookmarklet,楼主可以试一下:http://slayeroffice.com/tools/modi/v2.0/modi_help.html
P.S:Bookmarklet就是JS写的书签小程序。
作者: qzwqzw 时间: 2011-4-27 11:08
本帖最后由 qzwqzw 于 2011-4-27 11:16 编辑
嗯,下载并测试了一下
感觉这个Bookmarklet是浏览器内的JS
document对象都是预定义的
而我需要的是WSH解释的文件级JS
document对象需要新建
说的直白些
我不想打开任何浏览器
就可以分析和修改网页的表单元素值
网页是通过curl下载的静态html文件
希望可以通过命令行或者脚本以DOM方式浏览该html文件
作者: qzwqzw 时间: 2011-4-27 13:55
一个类似的页面链接
IE对象模型结合HTML DOM的WEB自动化测试
http://www.51testing.com/html/60/n-205660.html
需求基本满足
只是不想使用IE对象,理由顶楼提到了
作者: qzwqzw 时间: 2011-4-27 14:35
想使用MSXML.DOMDocument处理html
似乎只能载入.xml
不得其门而入
作者: powerbat 时间: 2011-4-27 20:36
有一个htmlfile控件
set dom = CreateObject("htmlfile")
作者: powerbat 时间: 2011-4-27 20:42
批处理、VBS剪贴板操作专题
http://www.bathome.net/thread-8329-1-1.html
作者: qzwqzw 时间: 2011-4-27 22:03
感谢楼上
了解了更多的一种方法
使用以下原型代码测试通过
只是经过测试
发现与InternetExplorer.Application相比
htmlfile的耗费时间不相上下
不知道是什么样的原因?- Set oDOM = GetObject("D:\Test\test2.html", "htmlfile")
- Do Until oDOM.readyState="complete" : WScript.Sleep 200 : Loop 'complete
- WScript.echo oDOM.body.outerHtml
复制代码
作者: powerbat 时间: 2011-4-27 22:34
都是调用mshtml.dll来解析html的
作者: qzwqzw 时间: 2011-4-27 22:47
那么难道ie的渲染不需要占用更多时间性能吗?
抑或mshtml实现的dom载入就已经包含了渲染?
作者: powerbat 时间: 2011-4-27 23:04
没学过Windows编程,具体也不清楚。
CPU、内存占用等方面应该不同吧
作者: qzwqzw 时间: 2011-4-30 17:28
非常感谢powerbat
问题已经解决
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |