AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.4" />

 DocumentExtensions

static class DocumentExtensions
Useful methods for document objects.
public static void AddTransientObserver(this Document document, INode node)

Adds a transient observer for the given node.

public static void AdoptNode(this IDocument document, INode node)

Adopts the given node for the provided document context.

public static void ApplyManifest(this Document document, HtmlHtmlElement root)

Applies the manifest to the given document.

public static IResourceLoader CreateLoader(this Document document)

Gets the resource loader for the given document, by creating it if possible.

public static IBrowsingContext CreateTarget(this Document document, string target)

Creates the specified target browsing context.

public static IWindow CreateWindow(this Document document)

Creates a new Window instance for the given document.

public static void ForEachRange(this Document document, Predicate<Range> condition, Action<Range> action)

Iterates over all ranges in the document, applying the provided action when the given condition is fulfilled.

public static IBrowsingContext GetTarget(this Document document, string target)

Gets the specified target browsing context.

public static bool HasScriptBlockingStyleSheet(this Document document)

Checks if the document has any active stylesheets that block the scripts. A style sheet is blocking scripts if the responsible element was created by that Document's parser, and the element is either a style element or a link element that was an external resource link that contributes to the styling processing model when the element was created by the parser, and the element's style sheet was enabled when the element was created by the parser, and the element's style sheet ready flag is not yet set. http://www.w3.org/html/wg/drafts/html/master/document-metadata.html#has-no-style-sheet-that-is-blocking-scripts

public static Task<TResource> LoadResource<TResource>(this Document document, ResourceRequest request) where TResource : IResourceInfo

Tries to load the resource of the resource type from the request.

public static IBrowsingContext NewChildContext(this Document document, Sandboxes security)

Creates a new nested browsing context with the given name and creator.

public static IBrowsingContext NewContext(this Document document, string name, Sandboxes security)

Creates a new browsing context with the given name and creator.

public static void PerformMicrotaskCheckpoint(this Document document)

Performs a microtask checkpoint using the mutations host. Queue a mutation observer compound microtask.

public static void ProvideStableState(this Document document)

Provides a stable state by running the synchronous sections of asynchronously-running algorithms until the asynchronous algorithm can be resumed (if appropriate).

public static void QueueMutation(this Document document, MutationRecord record)

Queues a mutation record for the corresponding observers.

public static void QueueTask(this Document document, Action action)

Queues an action in the event loop of the document.

public static void QueueTask(this Document document, Task task)

Queues an task in the event loop of the document.

public static void ReleaseStorageMutex(this Document document)

Releases the storage mutex. For more information, see: http://www.w3.org/html/wg/drafts/html/CR/webappapis.html#storage-mutex

public static Task SpinLoop(this Document document, Func<bool> predicate)

Spins the event loop of the document until the given predicate is matched.

public static Task WaitForReady(this Document document)

Spins the event loop until all stylesheets are downloaded (if required) and all scripts are ready to be parser executed. http://www.w3.org/html/wg/drafts/html/master/syntax.html#the-end (bullet 3)