gpt4 book ai didi

c# - 在向用户显示之前更改 WebBrowser 中的 HTML?

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

我正在使用 WebBrowser 控件,我想在 HTML 代码显示在控件中之前对其进行操作。

例如打开网站A,内容如下:

<html>
<body>
<p id="Text">Hello</p>
</body>
</html>

我想把它改成

<html>
<body>
<p id="Text">Bye</p>
</body>
</html>

我知道我可以用 DocumentCompleted 事件做到这一点,然后对其进行操作。但是,如果网站执行在文档就绪事件上执行的 JavaScript 内容,则更改它没有意义,因为它已经被执行了。

最佳答案

您可以在 Navigated 中进行 DOM 操作事件:

webBrowser1.Navigated += (sender, e) =>
{
((WebBrowser)sender).Document.GetElementById("Text").InnerHtml = "Bye";
};

这将在文档中的任何 DOM 就绪处理程序之前执行。例如,如果您最初有以下 HTML:

<html>
<head>
<title>Test</title>
</head>
<body onload="document.getElementById('Text').innerHTML = document.getElementById('Text').innerHTML + ' modified';">
<p id="Text">Hello</p>
</body>
</html>

当您在 WebBrowser 中显示此代码时,您将得到 Bye modified

关于c# - 在向用户显示之前更改 WebBrowser 中的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12587728/

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