DotNetBrowser FinishLoadingFrameEvent多次使用

我试图使用DotNetBrowser加载多个页面,我需要知道每次加载新url时,

myBro.FinishLoadingFrameEvent += delegate (object send, FinishLoadingEventArgs es) { if (es.IsMainFrame && es.ValidatedURL.Contains("login")) { DOMDocument document = myBro.GetDocument(); DOMElement user = document.GetElementById("LoginForm_login"); user.SetAttribute("value", "email"); DOMElement pass = document.GetElementById("LoginForm_password"); pass.SetAttribute("value", "pass"); DOMElement loginbtn = document.GetElementByTagName("button"); loginbtn.Click(); // can't add nothing more here // }; 

但只有加载了第一页时,此代码才会通知我

即使在重新加载页面之后,也会为网页上加载的每个帧触发FinishLoadingFrameEvent 。 在调用LoadURL方法后,当浏览器完全加载网页时,您可以多次使用它来收到通知。

以下是基于文档文章https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110055-loading-url-synchronously的示例代码:

 ManualResetEvent waitEvent = new ManualResetEvent(false); browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e) { // Wait until main document of the web page is loaded completely. if (e.IsMainFrame) { waitEvent.Set(); } }; //Load URL browser.LoadURL("http://www.google.com"); waitEvent.WaitOne(); //The page http://www.google.com is now loaded completely //Then, reset the event and load the next URL waitEvent.Reset(); browser.LoadURL("http://www.microsoft.com"); waitEvent.WaitOne(); //The page http://www.microsoft.com is now loaded completely