do webbrowser1.Navigate "www.21cn.com"'进入某一个网站 call settime(40000)'设置40秒后,如果webbrowser1还没有完全打开网页的话,则重新运行加载上面的页面 if isComplete =true then exit do'获取判断完成的一个变量,完成后,则退出循环 doevents loop
[解决办法] do while not WebBrowser1.Busy DoEvents loop [解决办法]
[解决办法] 这个按常规的做法是肯定行不通的.特别是有很多框架的网页 .经过多次的测试 .我觉得应该是目前最佳的解决方法了: 弄一个计数器timer1.interval设在100-200ms 弄一个全局变量 Dim comp As Integer Private Sub Timer1_Timer() If WebBrowser1.ReadyState = 4 And WebBrowser1.Busy = False Then comp = comp + 1 Set vdoc = WebBrowser1.Document End If If comp = 5 Then comp = 0 Set vdoc = WebBrowser1.Document'网页加载完成 End If End Sub