C# 使用webbrowser控件时出现问题

C# 使用webbrowser控件时出现问题,c#,.net,webbrowser-control,C#,.net,Webbrowser Control,我正在工作的刮板和使用webbrowser控制。 现在我在同一个控件中逐页导航 但当我这样做时,有时浏览器会在第一个页面完全加载之前开始加载其他页面。有时它会停止所有执行,并且没有页面正在进行 我正在使用webBrowser1_DocumentCompleted事件来处理文档,有时它会被多次加载 那么,有没有什么解决方案可以让我检查我的webbrowser是否正在忙着工作或者已经完成了浏览。我注意到,如果页面使用框架,它会多次完成文档。 您可以从WebBrowser1_DocumentCompl

我正在工作的刮板和使用webbrowser控制。 现在我在同一个控件中逐页导航

但当我这样做时,有时浏览器会在第一个页面完全加载之前开始加载其他页面。有时它会停止所有执行,并且没有页面正在进行

我正在使用webBrowser1_DocumentCompleted事件来处理文档,有时它会被多次加载


那么,有没有什么解决方案可以让我检查我的webbrowser是否正在忙着工作或者已经完成了浏览。

我注意到,如果页面使用框架,它会多次完成文档。
您可以从WebBrowser1_DocumentCompleted事件参数获取加载页面的URL

如果存在多个帧,则可以将WebBrowser1_DocumentCompleted的URL与WebBrowser1.URL进行比较

所以

或者你可以试试看

WebBrowser1.ReadyState == WebBrowserReadyState.Complete
我在WinForms WebBrowser控件中发现的几个问题是

通过AJAX进行更改时,您可以访问的DOM不会更新

除非你做一些额外的工作来检测何时创建了一个新窗口,并将其放入一个选项卡中,(有一些文章介绍如何做到这一点,如果你需要,我可以发送一个链接)
打开新窗口的页面将在新的进程中启动,因此您将失去刮取这些窗口的能力,它们将失去会话,因此,如果您登录到一个网页,您将在新窗口中注销。

我注意到,如果该页面使用框架,它会多次完成文档。
您可以从WebBrowser1_DocumentCompleted事件参数获取加载页面的URL

如果存在多个帧,则可以将WebBrowser1_DocumentCompleted的URL与WebBrowser1.URL进行比较

所以

或者你可以试试看

WebBrowser1.ReadyState == WebBrowserReadyState.Complete
我在WinForms WebBrowser控件中发现的几个问题是

通过AJAX进行更改时,您可以访问的DOM不会更新

除非你做一些额外的工作来检测何时创建了一个新窗口,并将其放入一个选项卡中,(有一些文章介绍如何做到这一点,如果你需要,我可以发送一个链接)
打开新窗口的页面将在一个新的进程中启动,因此您将失去清除这些窗口的能力,并且它们将失去会话,因此,如果您登录到一个网页,您将在新窗口中注销。

哪个web浏览器控件?Windows窗体?WPF?哪个web浏览器控件?Windows窗体?WPF?谢谢jamiegs thatz我要找的东西谢谢jamiegs thatz我要找的东西。