本日之最实用问题:webbrowser中,innerText得到的是空值,本地文件才能取得实际值我用webBrowser写了一个浏览器,部分代码如下:webbrowser.Navigate "H:\test.htm" '本地文件,webBody不是空值
'webbrowser.navigate "http://www.163.com" '打开远端文件,webBody是空值Dim webBody as string
webBody=webbrowser.document.body.innerText
if not webbrowser.busy then
msgbox webBody
End if这是为什么?是因为非本地文件无权限吗?
'webbrowser.navigate "http://www.163.com" '打开远端文件,webBody是空值Dim webBody as string
webBody=webbrowser.document.body.innerText
if not webbrowser.busy then
msgbox webBody
End if这是为什么?是因为非本地文件无权限吗?
类似以下地址innerText无效,其它地址则可以。是不是其html源码中有特别的地方
http://my.clubhi.com/bbs/661134/
整个页面内容是frame
所以innertext无效。怎么解决?
我给你一个思路吧!!
首先遍历Document里面的所有对象,查找所有tagname属性="IFrame"的对象,然后取出该对象的Src属性存入数组。遍历完后再一个一个的去连接数组里面存的地址。遍历算法:
'/+++++++++++++++++++++++++++++++++++++++++++\
Dim objT As Object
Dim objDoc As Object
Dim strarrUrls() As String
Dim lngIndex As LongSet objDoc=webbrowser.Document
Redim strarrUrls(objDoc.All.Length) As String
For Each objT In objDoc.All
If UCase(objT.TagName)="IFRAME" Then
strarrUrls(lngIndex)=objT.Src
End If
Next
'\++++++++++++++++++++++++++++++++++++++++++++/
下面就是用webbrowser控件一个一个去连接strarrUrls数组里面的URL地址,然后取出InnerText了!!!给分!!!!!川乌!!!!
我用
webbrowser 框架
作关键词在csdn作全文查询,得到如下答案:
webbrowser.document.frames(0).document.body.innerText测试通过