如何释放“忙”c#webbrowser

问题描述 投票:1回答:1

我正在使用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运行缓慢”弹出窗口。我仍然可以继续导航,但我注意到加班我有一个相当大的内存泄漏。我不确定它是否来自我重新启动浏览器或离开弹出窗口的方式。

如果您有办法“释放”浏览器,或者您可以确认重新启动浏览器的正确方法,那将非常感激。

javascript c# webbrowser-control
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.