标题:为什么使用vb.net的过程让webbrowser控件加载网页时,必须运行到end sub后, ...
取消只看楼主
yangmz
Rank: 2
等 级:论坛游民
帖 子:94
专家分:20
注 册:2013-4-2
结帖率:54.17%
已结贴  问题点数:20 回复次数:1 
为什么使用vb.net的过程让webbrowser控件加载网页时,必须运行到end sub后,才刷新网页?
本人正在学习使用webbrowser控件制作一个网页自动浏览器,自己玩网页游戏。但遇到如下问题不能解决。
思路:当在load事件中用Navigate方法载入网页,加载网页结束后,在DocumentCompleted事件中用代码获取到所有标签和相应的链接地址。
的某一个过程中(举例过程名为aaa),用代码通过在DocumentCompleted事件中得到所有的标签和地址查找相应的标签访问指定的网页。
但在该过程连续通过多个标签来访问不同的网页,不成功,网页没有刷新。
过程如下:
sub aaa
查找到标签"副本"相应地地址bb
Navigate(bb)     ‘进入到地址bb的网页

在打开的"副本"连接网页中再查找标签为"副本1"相应地地址cc
Navigate(cc)     ‘进入到地址cc的网页

end sub

通过调试运行发现,运行完Navigate(bb)后,webbrowser没有更新,一直是进入到标签"副本"之前的网页,所以Navigate(cc)也就达不到运行的目的了。

如果是下面这样就可以
ub aaa
查找到标签"副本"相应地地址bb
Navigate(bb)     ‘进入到地址bb的网页
end sub
运行完后,就马上显示地址bb的网页。
这是怎么回事呢?
搜索更多相关主题的帖子: 过程 网页 标签 运行 地址 
2023-04-26 12:08
yangmz
Rank: 2
等 级:论坛游民
帖 子:94
专家分:20
注 册:2013-4-2
得分:0 
我想在加载一个网页时,等它加载完全再向后加载下一个网页地址
sub aaa()
            Web1.Navigate(aa)
            While (Web1.IsBusy)
                Application.DoEvents()
            End While

            Web1.Navigate(bb)
            While (Web1.IsBusy)
                Application.DoEvents()
            End While
   
            Web1.Navigate(cc)
            While (Web1.IsBusy)
                Application.DoEvents()
            End While
  end sub
但还是不行,非要完成end sub后才显示地址为aa的网页。这又是怎么回事呢?

[此贴子已经被作者于2023-4-27 14:42编辑过]

2023-04-27 11:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-512047-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved