gpt4 book ai didi

c# - 为什么 WebBrowser.Document.DomDocument 不包含实际的 DOM 模型?

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

我使用 WebBrowser.Document.DomDocument,发现它有不同的 DOM 模型,我可以在 IE 调试工具中看到。

IE 调试工具包含有效的实际 DOM 模型,而 WebBrowser.Document.DomDocument 不包含一些由 JavaScript 动态添加的元素。

实际上 WebBrowser 控件显示所有元素,甚至是动态添加的元素,但 WebBrowser.Document.DomDocument 包含过时的 DOM 模型。

IE Debug Tool 可以在当前状态下显示实际修改的DOM 模型,如何使用WebBrowser 组件获取当前DOM 模型?

绝对应该有办法做到这一点。

最佳答案

这个问题可以使用更好的文档。但这是一个相当经典的问题,它是一个时间问题。毫无疑问,您太早访问了 DomDocument 属性,通常您会在浏览器的 DocumentCompleted 事件中这样做。这大致是 javascript 代码开始执行的时间。因此,您将获得脚本更改之前的 DOM 版本。

没有合适的方法来处理这个问题。 Javascript 的执行完全是异步的,没有任何事件表明任何脚本代码开始或停止运行。你能做的唯一体面的事情就是“等一下”,使用计时器。最好重复,直到您从 DOM 中看到一个很好的指示,表明脚本已完成更改。

关于c# - 为什么 WebBrowser.Document.DomDocument 不包含实际的 DOM 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11599436/

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