Webbrowser判断页面加载完成

时间:2023-03-09 16:30:05
Webbrowser判断页面加载完成

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

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

 // 计数器
int counter = ; // 添加事件响应函数
this .webBrowser.Navigated += new System.Windows.Forms.WebBrowserNavigatedEventHandler(webBrowser_Navigated); this .webBrowser.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler( this .webBrowser_DocumentCompleted); // 事件响应函数
private void webBrowser_Navigated( object sender, WebBrowserNavigatedEventArgs e)
{
counter ++ ;
} private void webBrowser_DocumentCompleted( object sender, WebBrowserDocumentCompletedEventArgs e)
{
counter -- ; if ( == counter)
{
// 加载完毕
}
}

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

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

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

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