在 Chrome 中有很多方式来执行预定的 Javascript 程序,比如 手动在 Console 里、在 Source - Snippets 里,甚至是打包成 扩展的形式。
如果你想把 收集的数据传到 Chrome 外,估计只能发送 请求到服务端,然后供其他端读取,或者尝试通过 Chrome 的插件(NaCl)与本地程序通讯。
还可以使用xmlhttp,也就是类似于JavaScript的Ajax的方式:Set xmlhttp = CreateObject("MicroSoft.XMLHTTP") '这三行是获取网页源码
xmlhttp.Open "get", "网址写在这", False
xmlhttp.Send
Set html = CreateObject("htmlfile") '这两行是把网页源码重新解析为html文档
html.Write xmlhttp.responseText
Set Acollection = html.All.tags("input") '这是获取html中的所有input元素
……后面的代码就跟你的完全一样了
这种方式,只会下载网页的html代码,不会下载网页中包含的图片、脚本、样式表等数据,而且不需要渲染和显示出网页内容,所以速度比用WebBrowser控件要快得多。
用webbrower控件
请看下例
’声明:该程序由csdn论坛获得
dim dwinfolder as new shellwindows
dim withevents eventie as webbrowser_v1
private sub command1_click()
dim objie as object
for each objie in dwinfolder
if objie.locationurl = list1.list(list1.listindex) then
set eventie = objie
command1.enabled = false
list1.enabled = false
text1.text = ""
exit for
end if
next
end sub
private sub eventie_navigatecomplete(byval url as string)
text1.text = text1.text + chr(13) + chr(10) + url
end sub
在运行前。点击菜单 projects | references 项,在available references 列表中选择microsoft internet controls项将internet对象引用介入到工程中
private sub form_load()
dim objie as object
for each objie in dwinfolder
if instr(1, objie.fullname, "iexplore.exe", vbtextcompare) <> 0 then
list1.additem objie.locationurl
end if
next
command1.caption = "正文"
end sub
private sub form_unload(cancel as integer)
set dwinfolder = nothing
end sub
private sub list1_click()
dim objdoc as object
dim objie as object
for each objie in dwinfolder
if objie.locationurl = list1.list(list1.listindex) then
set objdoc = objie.document
for i = 1 to objdoc.all.length - 1
if objdoc.all(i).tagname = "body" then
text1.text = objdoc.all(i).innertext
end if
next
exit for
end if
next
end sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)