我正在使用c#和webbrowser来抓取一个网页。
有时,我会遇到“来自网页的消息”弹出错误。
我用:
hwnd = FindWindow("#32770", "Message from webpage");
hwnd = FindWindowEx(hwnd, IntPtr.Zero, "Button", "OK");
SendMessage(hwnd, 0xf5, IntPtr.Zero, IntPtr.Zero);
按下确定。但是,当我再次尝试导航时,我会收到一个错误,即webbrowser仍然很忙。我怎么能强迫它再次获得自由?
我发现的唯一解决方法是尝试“重启”浏览器。我正在做以下事情:
ie.Dispose();
ie = new System.Windows.Forms.WebBrowser();
这似乎有效,但是当我导航时,我得到一个“此页面上的脚本导致Internet Explorer运行缓慢”弹出窗口。我仍然可以继续导航,但我注意到加班我有一个相当大的内存泄漏。我不确定它是否来自我重新启动浏览器或离开弹出窗口的方式。
如果您有办法“释放”浏览器,或者您可以确认重新启动浏览器的正确方法,那将非常感激。