gpt4 book ai didi

c# - 等待 WebBrowser ajax 内容

转载 作者:可可西里 更新时间:2023-11-01 09:05:47 25 4
gpt4 key购买 nike

我想暂停线程的执行,直到通过 ajax 将特定的 div 加载到 WebBrowser 实例中。显然,我可以不断地检查这个 div 是否存在,比如:

while (Browser.Document.GetElementById("divid") == null) { Thread.Sleep(200); }

但是,使浏览器处于循环之间的线程休眠只会阻止浏览器首先实际加载内容。因此,我似乎需要在单独的线程中执行 Browser.Navigate 方法 - 然后我可以继续检查/等待 div 的存在,同时 WebBrowser 实例继续加载我的 URL要求它。

然而,我在这方面的尝试失败了,我会重视任何关于我应该如何处理的意见。我想简单地用 new Thread(() => { Browser.Navigate(url); }); 分派(dispatch)一个新线程就可以了,但是这样做之后,没有任何加载并且 Browser.ReadyState 保持为 '未初始化'。我想我误解了如何使用 C# 正确处理像这样的线程过程,并且会重视一些建议!

最佳答案

以下应该有效,

while (Browser.Document.GetElementById("divid") == null) 
{
Application.DoEvents();
Thread.Sleep(200);
}

以上对我有用...

关于c# - 等待 WebBrowser ajax 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3794522/

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