如何将 .NET WebBrowser 修改后的 DOM 渲染为 HTML?
我有一个 .NET Web 浏览器,通过 DOM,我对页面的元素进行了某些更改,
例如:
标题和通过 ID 更改某些元素的内部文本。
现在,所有这些工作正常,我可以调用文档的各个元素来确保进行了更改。
Webbrowser.Body.Getelementbyid("id") <--- 我可以看到更改
Webbrowser.Document.Title <---- 我可以看到更改
但是如果我转到顶层并查看 HTML,如
Webbrowser.DocumentText < ;--- 我没有看到任何更改
目的是在进行必要的更改后保存所有 HTML。
I have a .NET web browser and through DOM I am making certain changes in the page's elements
such as:
Title and changing inner text of some of elements by ID.
Now all this works fine and I can call the document's individual elements to make sure changes were made.
Webrowser.Body.Getelementbyid("id") <--- I can see changes
Webbrowser.Document.Title <---- I can see changes
But if I go to top level and view the HTML like
Webbrowser.DocumentText <--- I do not see any changes
Purpose is to save all the HTML after making necessary changes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你实际上不能。您试图强制 Web 浏览器控件成为设计器,但这不会发生。
这是因为浏览器不会将您的 DOM 更改应用到 HTML 并重新解释。您的所有更改都在内存中。看到 HTML 中反映的这些变化构成了 HTML 设计者提供的功能,而 .NET Web 浏览器只是一个浏览器,而不是设计器。
You actually can't. You're trying to force the web browser control to be a designer and that won't happen.
This is because the browser does not apply your DOM changes to the HTML and reinterprets. All your changes are in-memory. Seeing those changes reflected in the HTML constitutes a feature provided by HTML designers, and the .NET web browser is just a browser, not a designer.