gpt4 book ai didi

C# WebBrowser 控件——在 AJAX 之后获取文档元素?

转载 作者:IT王子 更新时间:2023-10-29 04:38:36 26 4
gpt4 key购买 nike

我正在编写一个应用程序,该应用程序使用 WebBrowser 控件来查看可以使用添加新内容/元素的 AJAX 更改的 Web 内容。我似乎无法以我尝试过的任何方式获得新元素。 BrowserCtl.DocumentText 没有最新的页面,当然它也不在“查看源代码”中。

有什么方法可以使用此控件获取这些新数据吗? :(请帮忙。谢谢!

即:

Browser.Navigate("www.somewebpagewithAJAX.com");
//Code that waits for browser to finish...
...
//WebBrowser control has loaded content and AJAX has loaded new content
// (is visible at runtime on form) but can't see them in Browser.Document.All
// or Browser.DocumentText :(

最佳答案

我为我解决了这个问题。

关键是,为通过 ajax 调用填充的 div 元素的 onPropertyChanged 事件附加一个处理程序。

HtmlElement target = webBrowser.Document.GetElementById("div_populated_by_ajax");

if (target != null)
{
target.AttachEventHandler("onpropertychange", handler);
}

最后,

private void handler(Object sender, EventArgs e)
{
HtmlElement div = webBrowser.Document.GetElementById("div_populated_by_ajax");
if (div == null) return;
String contentLoaded = div.InnerHtml; // get the content loaded via ajax
}

关于C# WebBrowser 控件——在 AJAX 之后获取文档元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635948/

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