anglesharp - AngleSharp Css 使用路径查询元素样式
问题描述
仅给定一个 css 样式表,是否可以使用某种路径查询来解析和查询样式表以检索类似于从返回的内容的计算样式IElement.ComputeCurrentStyle()
?
var css = @"
<style>
table { font-family:foobar }
td { font-weight:bold }
</style>
";
var config = Configuration.Default.WithDefaultLoader().WithCss();
var context = BrowsingContext.New(config);
IDocument document = await context.OpenAsync(req => req.Content(css));
ICssStyleSheet sheet = document.GetStyleSheets().OfType<ICssStyleSheet>().First()
是否可以做类似sheet.GetComputedStyle("body>table>tbody>tr>td")
检索 a 的事情ICssStyleDeclaration
?
解决方案
在 github 项目问题跟踪器https://github.com/AngleSharp/AngleSharp.Css/issues/64上得到了对此的回应
好吧,要获得计算样式,您需要与 DOM 建立连接。毕竟,像选择器这样的东西只能在可用的 DOM 结构的上下文中计算。我猜你所追求的是“伪造”DOM,即,如果你看到一些选择器(如 body>table>tbody>tr>td)创建最小的 DOM 以获取满足选择器的元素。然后使用这个元素来获取计算的样式,对吗?开箱即用这是不可能的,但我认为写这个应该是可行的。
推荐阅读
- x86 - IARG_EXPLICIT_MEMORY_EA 应该用于什么?
- django - 如何从模型中排除对象?
- c++ - 计算由它的 className 运行的程序
- java - 在构造函数之外无法识别对象
- django - 在运行 server django 之后运行 python 脚本
- c# - 如何在 C# 中将公历日期转换为科普特日期
- google-cloud-platform - 将 Google Cloud Dataprep 连接到自动化管道中的 AutoML 表
- python - 使用 plist 执行脚本时 macOS “env: python3: No such file or directory”
- svelte - 仅在客户端运行某些代码的最佳方法是什么?
- javascript - 未捕获的 TypeError:document.getElementById(...).addEventHandler 不是函数