gpt4 book ai didi

c# - 如何使用 AngleSharp 从已解析的 html 元素中获取 css 属性

转载 作者:行者123 更新时间:2023-12-05 01:45:33 40 4
gpt4 key购买 nike

拥有这个 CSS:

.foo { background-size: 10px 20px; }

还有这个 Html:

<span class="foo"></span>

还有这个 C#:

var parser = new HtmlParser();
var doc = parser.Parse("http://localhost/test.html");
var element = doc.QuerySelector("span.foo");

如何获取关联的背景宽度和高度到元素

(目前我使用的是 AngleSharp 0.9.9 版本)

最佳答案

首先C#代码是错误的。您传递给 parser.Parse 的字符串是 HTML 代码,而不是 URI。此外,您的代码不执行任何 CSS 解析 - 它仅使用 HTML 解析器。因此,让我们使用浏览上下文来获取您需要的一切。

var config = Configuration.Default.WithDefaultLoader().WithCss();
var context = BrowsingContext.New(config);
var document = context.OpenAsync("http://localhost/test.html").Result;
var element = document.QuerySelector("span.foo");
var style = document.DefaultView.GetComputedStyle(element);
var size = style.BackgroundSize;

请记住,如果不存在这样的元素(不匹配查询),element 可能为 null,并且 GetComputedStyle 方法只能以有限的方式工作。此外,如果您的 CSS 是在外部样式表中定义的,请确保激活资源加载。

希望这对您有所帮助!

关于c# - 如何使用 AngleSharp 从已解析的 html 元素中获取 css 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41432540/

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