How to wait for axWebBrowser to finish loading?
I am using axWebBrowser
to do some web automation.
When the system triggers the NewWindow2
event, it is unable to开发者_JS百科 keep track of an HTML element in the new window. After debugging, I noticed that the axWebBrowser1.ReadyState
is equal to ReadyState_Complete
although the new window hasn't finished loading.
private void axWebBrowser1_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e) {
if (axWebBrowser1.ReadyState == SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE) {
// some code...
}
}
How can I wait for the new window to finish loading so I can detect the HTML element in it?
I think you can handle the ProgressChanged
event:
private void webBrowser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
siteLoading.Value = (int)e.CurrentProgress;
if (e.CurrentProgress >= e.MaximumProgress)
{
// Loaded.
}
}
Take a look the the following questions:
http://www.vbforums.com/showthread.php?t=526871
http://social.msdn.microsoft.com/Forums/en/ieextensiondevelopment/thread/8785ddcc-6f48-410b-8cd4-122b3f2b0e34
精彩评论