gpt4 book ai didi

c# - HtmlElement.SetAttribute 不适用于 webBrowser

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

我不明白,为什么对任何 HtmlElement 的更改都不会更改 webBrowsers 的显示。

这是我的代码:

    private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser.ReadyState != WebBrowserReadyState.Complete)
return;
if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath)
return;

HtmlElementCollection elemCol = webBrowser.Document.All;
foreach (HtmlElement elem in webBrowser.Document.All)
{
if (elem.TagName.Equals("SPAN"))
elem.SetAttribute("width", "100"); //style="background: red;"

HtmlElement parentElem = elem.Parent;
}
webBrowser.Update();
webBrowser.Refresh();
}

调试时,我查看了元素的 OuterHtml - 这按预期进行了更改。当查看其父元素的 innerHtml 时,它也会发生变化。甚至 webBrowser.Document 的 body innerHtml 也会发生变化。但是它对 Gui 中的 webBrowser 没有影响。查看那里的源代码,您找不到更改。

有什么想法吗?我仍然尝试了 Update() 和 Refresh() 但没有成功。

最佳答案

我用它来改变 Style 属性

var currentStyle = htmlElement.Style;
htmlElement.Style = currentStyle.Replace("margin-left: 450px", "margin-left: 50px");

关于c# - HtmlElement.SetAttribute 不适用于 webBrowser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26672321/

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