Webbrowser判断页面加载完成

摘要:
Webbrowser请求加载页面,页面中包含各种资源,不能够很准确的判断加载是否完成,需要通过特定的方法判断。//计数器intcounter=0;//添加事件响应函数this.webBrowser.Navigated+=newSystem.Windows.Forms.WebBrowserNavigatedEventHandler;this.webBrowser.DocumentCompleted+=newSystem.Windows.Forms.WebBrowserDocumentCompletedEventHandler;//事件响应函数privatevoidwebBrowser_Navigated{counter++;}privatevoidwebBrowser_DocumentCompleted{counter--;if{//加载完毕}}在执行一个加载完成操作时,在执行完毕后最好立马注销事件。

Webbrowser 请求加载页面,页面中包含各种资源,不能够很准确的判断加载是否完成,需要通过特定的方法判断。

1、使用计数器判断页面是否加载完成。精准可控。

 //计数器
int  counter  =   0;

//添加事件响应函数
this .webBrowser.Navigated  +=   newSystem.Windows.Forms.WebBrowserNavigatedEventHandler(webBrowser_Navigated);

this .webBrowser.DocumentCompleted  +=   new  System.Windows.Forms.WebBrowserDocumentCompletedEventHandler( this.webBrowser_DocumentCompleted);

//事件响应函数
private   void  webBrowser_Navigated( objectsender, WebBrowserNavigatedEventArgs e)
 {
    counter ++;
}

private   void  webBrowser_DocumentCompleted( objectsender, WebBrowserDocumentCompletedEventArgs e)
 {
    counter --;

     if  ( 0   ==counter)
     {
      //加载完毕
}
} 

在执行一个加载完成操作时,在执行完毕后最好立马注销事件。

2、通过控件状态及控件文档URL地址判断,此方法经实际测试,可满足大多数情况。简单。

this .webBrowser.DocumentCompleted  +=   new  System.Windows.Forms.WebBrowserDocumentCompletedEventHandler( this.webBrowser_DocumentCompleted);

private   void  webBrowser_DocumentCompleted( objectsender, WebBrowserDocumentCompletedEventArgs e)
 {
     if (Browser.ReadyState == WebBrowserReadyState.Complete&&e.Url==webBrowser.Document.Url)
     {
         //加载完成
}
} 

免责声明:文章转载自《Webbrowser判断页面加载完成》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PyQt5窗口操作大全JS实现日程安排 日程安排插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Dubbo分布式日志追踪

尝试{returninvoker.invoke(invoke);}最后{MDC.remove(“traceId”);}}/**获取UUID*@returnStringUUID*/publicStringgetUUID(){Stringuuid=UUID.randomUUID(().toString();...

MIPS学习笔记(一)

本章涉及MIPS变量声明、数据输入和输出、地址获取、分支跳转语句,基本上对应于任何高级语言的最基本操作。该信息的确切形式因汇编程序而异。在MIPS程序集中,标签是后跟冒号的符号名称。)syscall程序的结尾与C类似,可以调用exit函数来停止程序的执行。停止MIPS程序的一种方法是使用类似于在C中调用exit的方法。MIPS中有一个移动指令,它将一个寄存器...

Cesium深入浅出之视频投影【转】

通常,我们使用矩形,因为视频形状是方形的。据怀疑,视频标签隐藏了这段关系。如果再次显示,视频将再次移动。此处使用VideoSynchronizer。它可以使视频元素与铯的模拟时钟同步。让我们看看它的构造函数:name type description optionsObject option子属性:name type默认值description用于驱动视频的...

关于WINFORM中输入法的设置

关于WINFORM(转移到)John Suna的专栏开发中输入方法的设置,它碰巧遇到了这种问题。网络真的很好:)这是文本集。感谢作者的辛勤工作给您带来的便利。在WINFORM中,我们经常遇到这样的问题:文本输入框中的输入法被禁用或总是更改为全宽输入法。查阅相关数据后,总结如下:(1)Control.ImeMode属性:获取或设置控件的输入方法编辑器模式。此模...

backgroundsize

当背景大小值为和时,可以设置两个值,也可以设置一个值。当只取一个值时,第二个值相当于auto,但此处的auto不会将背景图像的高度保持在其原始高度,而是与第一个值相同。此外,如果只取一个值,宽度和高度将相同,这相当于背景大小:80%自动。...

input框输入金额处理的解决办法

最近,已经启动的项目在删除输入输入量时突然出现问题。各种在线搜索都没有找到你想要的。今天,我将以react框架为例进行代码贡献。我会写下需求和解决方案,希望对我的朋友有用。如果有更好的方法实现它,请给我一些建议!”在“:”下;n=数学。防抱死制动系统;vars=“”;对于{s+=.replace;}S=S||“整数”;n=数学。地板对于{varp=“”;对于...