首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AngleSharp解析CSS

用AngleSharp解析CSS
EN

Stack Overflow用户
提问于 2019-12-07 03:21:57
回答 1查看 949关注 0票数 0

我正在尝试用AngleSharp解析一个超文本标记语言网页及其CSS。遗憾的是,我只找到了这方面的过时示例,并且我正在努力寻找最新的实现。

目前,我正在尝试这样做:

代码语言:javascript
复制
  var config = Configuration.Default.WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true });
  var context = BrowsingContext.New(config);
  var address = "www.foo.com"
  var document = await context.OpenAsync(address);
  var styleSheets = document.styleSheets;

当我尝试访问styleSheets时,它总是返回一个空列表。用AngleSharp解析CSS的正确方法是什么?也许可以在文档中包含一个示例。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-07 04:30:28

感谢您提出这个问题,并为仍在四处传播的一些过时的文档感到抱歉。

AngleSharp没有附带CSS;相反,AngleSharp可以使用其他库中的功能进行扩展。其中一个库是AngleSharp.Css。

顾名思义,这个库引入了CSS功能。

假设您通过NuGet安装了(AngleSharp和AngleSharp.Css),您可以这样做:

代码语言:javascript
复制
  var config = Configuration.Default.WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true }).WithCss();
  var context = BrowsingContext.New(config);
  var address = "http://www.example.com"; // any reason for dropping the protocol?
  var document = await context.OpenAsync(address);
  var sheet = document.QuerySelector<IHtmlLinkElement>("link[rel=stylesheet]")?.Sheet;

我使用了以下名称空间导入。

代码语言:javascript
复制
    AngleSharp
    AngleSharp.Dom
    AngleSharp.Html.Dom
    AngleSharp.Io

希望这能有所帮助!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59219106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档