〓紧急求助〓 WebBrowser控件 如何判断网页是否完全打开....解决后马上给分....十分感谢

guxing110 2007-10-15 10:52:32
我的问题是这样的

我数据库中存有很多网页.我现在要循环打开这些网页.并取一些数据.
我想问一下我怎么判断网页是否完全打开呢?
我的程序是这样的..


do while not Rs.eof
strUrl=rs!url '取数据库中网页地址
WebBrowser1.Navigate StrURL '打开网页
'怎么判断网页是否已打开?还有如果失败了怎么判断..
call getWebValue '取数据
Rs.MoveNext
loop


...全文
477 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
guxing110 2007-10-16
  • 打赏
  • 举报
回复
谢谢各位.我测试一下.
解决后结贴
zzyong00 2007-10-16
  • 打赏
  • 举报
回复
别人告诉你,你得测试一下吧!
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
debug.print url
End Sub
这样,你不就知道DocumentComplete的触发过程了吗?当网页完全下载完,哪个url就是你navigate的url, 也是WebBrowser1.LocationURL
tianhuo_soft 2007-10-16
  • 打赏
  • 举报
回复
documentcomplete 事件 是在网页完全加载完的事件
如果有的图片打开速度很慢 很慢 你是等还是不等

一般是读取所有连接,能把所有连接读取完毕就证明这个网页全打开
guxing110 2007-10-16
  • 打赏
  • 举报
回复
1200条数据代码打开了1200次网页.
guxing110 2007-10-16
  • 打赏
  • 举报
回复
If Not (pDisp Is WebBrowser1.object) Then Exit Sub

我用了这个判断可以判断网络完全打开..
但当我采集到1200条左右的数据的时候就发现不能继续采数据了.

程序还在不停的打开网页.就是没数据
我一直这样循环的打开网页.然后取数据.是不是哪些地方不对?

guxing110 2007-10-16
  • 打赏
  • 举报
回复
documentcomplete 的确是用这个事件

Private Sub Command1_Click()
StrURL = Rs!URL
If Rs.EOF Then
MsgBox ("读取完毕")
Else
WebBrowser1.Navigate StrURL
End If
Rs.MoveNext
End Sub


Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If WebBrowser1.LocationURL = StrURL Then
Call getWebValue
Command1_Click
End If
End Sub


这个思路是对的...没错
但是在If WebBrowser1.LocationURL = StrURL Then 判断这里出问题
问题是网页刚刚打开.网页中的内容还没完全显示出来.这里就为True了.
还是原问题.判断网页内容是否完全打开....
zzyong00 2007-10-15
  • 打赏
  • 举报
回复
WebBrowser1控件的documentcomplete事件发生,说明网页下载完成
蒋晟 2007-10-15
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/180366
clear_zero 2007-10-15
  • 打赏
  • 举报
回复
documentcomplete 的确是用这个事件

Private Sub Command1_Click()
StrURL = Rs!URL
If Rs.EOF Then
MsgBox ("读取完毕")
Else
WebBrowser1.Navigate StrURL
End If
Rs.MoveNext
End Sub


Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If WebBrowser1.LocationURL = StrURL Then
Call getWebValue
Command1_Click
End If
End Sub
leebo123 2007-10-15
  • 打赏
  • 举报
回复
documentcomplete 的确是用这个事件

Private Sub Command1_Click()
StrURL = Rs!URL
If Rs.EOF Then
MsgBox ("读取完毕")
Else
WebBrowser1.Navigate StrURL
End If
Rs.MoveNext
End Sub



Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If WebBrowser1.LocationURL = StrURL Then
Call getWebValue
Command1_Click
End If
End Sub

我大概写了一下 你看看吧 思路是这样得 你具体怎么实现看你自己了
guxing110 2007-10-15
  • 打赏
  • 举报
回复
1 楼的有英文版本吗?
2 楼的回答好像也不行...
我那段是循环的...速度很快
而且有时网页还没有下载完成.这个事件也触发了

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧