gpt4 book ai didi

c# - Web 浏览器未触发 DocumentCompleted 事件

转载 作者:行者123 更新时间:2023-11-30 15:00:29 25 4
gpt4 key购买 nike

我正在尝试实现简单的网页屏幕捕获程序。当我在 UI 线程上使用我的代码时,一切似乎都没有问题,但是当我从非 UI 线程调用方法时,我无法再触发 WebBrowserDocumentCompleted 事件。我也试过这个:

System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser();
wb.DocumentCompleted += WebBrowserDocumentCompleted;
wb.Visible = true;
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);

while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)
{
Application.Current.Dispatcher.Invoke(DispatcherPriority.Background,
new Action(delegate { }));
}

程序只是无限期地卡在 while 循环中。有什么想法吗?

最佳答案

像这样:

public void Start()
{
System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser();
wb.DocumentCompleted += WebBrowserDocumentCompleted;
wb.Visible = true;
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
}

private void WebBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if( (sender as WebBrowser).ReadyState == System.Windows.Forms.WebBrowserReadyState.Complete)
{
// Do what ever you want to do here when page is completely loaded.
}
}

希望这对您的探索有所帮助。

关于c# - Web 浏览器未触发 DocumentCompleted 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15371514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com