CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  网络编程

WebBrowser通过Navigate加载网页为什么在程序中效率如此之低?如何提升

楼主20tospur(扯蛋)2006-06-02 13:39:39 在 VB / 网络编程 提问

Sub   getHTML(url_str   As   String)  
            Dim   doc   As   Object  
            Web.Navigate   url_str  
            getCODE   FolderName,   localfiles  
  End   Sub  
   
  Private   Sub   getCODE(path_name   As   String,   localFile   As   String)  
            Dim   doc   As   Object  
            If   InStr(Web.Document.documentElement.innerHTML,   "无法显示")   >   0   Then  
                      getHTML   sUrt  
            End   If  
   
            Set   doc   =   Web.Document  
            Set   objhtml   =   doc.body.createTextRange()  
   
            If   Not   IsNull(objhtml)   Then  
                      Open   path_name   &   "\"   &   localFile   For   Output   As   #1  
                      Print   #1,   objhtml.htmlText;  
                      Close   #1  
            End   If  
  End   Sub  
   
  我是用上面两个sub   分别load网页在webbrowser控件里面显示-为了防止timeout   反复load直到load   complete。然后再保存到本地指定目录中   生成txt文档。  
  现在发现在gethtml这个sub里面浪费了大量的时间   这个是什么问题啊   我直接用ie打开那个连接都没有那么多时间阿,有什么办法提升效率吗? 问题点数:50、回复次数:2Top

1 楼hein(hein)回复于 2006-06-02 23:05:33 得分 0

我最近才开始用VB和网络控件的,遇到问题到这里来问,看到这个  
  就顺便说说我的用法吧,可能对你会有帮助  
   
  我试过连续加载很保存不同的页面,感觉使用Web.Navigate   之后delay一下比较有效率  
          Web_Browser.Navigate   url_str  
          Web_Browser.Refresh     '我发现refresh一下更有效…这个只是个人用下来的感觉  
          Timer1.Interval   =   1000  
          Timer1.Enabled   =   True     '在里面放Timer1.Enable   =   False  
          Do  
          DoEvents  
          Loop   While   Timer1.Enabled   =   True  
   
  Do   While   Web_Browser.Busy  
  If   form_quit   =   True   Then   GoTo   sub_end  
  DoEvents  
  LoopTop

2 楼hein(hein)回复于 2006-06-02 23:10:01 得分 0

第一次在这里发帖,不小心点了一下就发出去了,怎么修改不会,接上面的回帖继续吧……  
   
  If   form_quit   =   True   Then   GoTo   sub_end这个不是的……可以忽略  
  然后就可以用你那个  
  Set   doc   =   Web.Document  
  Set   objhtml   =   doc.body.createTextRange()进行保存了  
  另外,把ie设置里面高级部分的显示图片音乐之类的关闭,会大大提高效率……  
   
  初学者,仅供参考……^__^Top

相关问题

关键词

得分解答快速导航

  • 帖主:20tospur

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo