簡體   English   中英

使用 AngleSharp 解析 CSS

[英]Parsing CSS with AngleSharp

我正在嘗試使用 AngleSharp 解析 HTML 網頁及其 CSS。 可悲的是,我只找到了折舊的例子,我正在努力尋找最新的實現。

目前,我正在嘗試這個:

  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 的正確方法是什么? 也許可以在文檔中包含一個示例。

問候

感謝您提出這個問題,並對一些仍在飛來飛去的過時文檔感到抱歉。

AngleSharp 不附帶 CSS; 相反,可以使用其他庫的功能擴展 AngleSharp。 這些庫之一是AngleSharp.Css

顧名思義,這個庫帶來了 CSS 功能。

假設您通過 NuGet 安裝了(AngleSharp 和 AngleSharp.Css),您可以執行以下操作:

  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;

我使用了以下命名空間導入。

    AngleSharp
    AngleSharp.Dom
    AngleSharp.Html.Dom
    AngleSharp.Io

希望有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM