Nullean.Cdp
0.11.1
dotnet add package Nullean.Cdp --version 0.11.1
NuGet\Install-Package Nullean.Cdp -Version 0.11.1
<PackageReference Include="Nullean.Cdp" Version="0.11.1" />
<PackageVersion Include="Nullean.Cdp" Version="0.11.1" />
<PackageReference Include="Nullean.Cdp" />
paket add Nullean.Cdp --version 0.11.1
#r "nuget: Nullean.Cdp, 0.11.1"
#:package Nullean.Cdp@0.11.1
#addin nuget:?package=Nullean.Cdp&version=0.11.1
#tool nuget:?package=Nullean.Cdp&version=0.11.1
Nullean.Cdp

A small Chrome DevTools Protocol client for .NET: find and launch Chrome, drive pages with agent-browser style locators, and read the accessibility tree. Native AOT and trim clean, with no dependencies beyond the BCL.
Install
dotnet add package Nullean.Cdp
Quick start
using Nullean.Cdp;
using Nullean.Cdp.Accessibility;
await using var browser = await Browser.LaunchAsync(); // headless, temporary profile
await using var context = await browser.NewContextAsync(); // own cookies and storage
var page = await context.NewPageAsync();
await page.GotoAsync("http://localhost:5000/");
Console.Write(await page.SnapshotAsync(new AxSnapshotOptions { Compact = true, Selector = "main" }));
// - main
// - heading "Fixture shop" [level=1]
// - textbox "Search"
// - checkbox "Only in stock" [checked=true]
Locators wait for their element and act like a user:
await page.Label("Search").FillAsync("lamp");
await page.Role("checkbox", "Only in stock").CheckAsync();
await page.Role("button", "Go").ClickAsync(); // waits for any navigation it starts
await page.Text("3 results").WaitAsync();
page.SendAsync(method, params) and browser.Connection reach any CDP command the library does not wrap.
Finding Chrome
CDP_CHROME, then CHROME_PATH, then the standard install locations for Chrome, Chrome for Testing, Chromium and
Edge on each OS, then google-chrome, chromium and chrome on the PATH. When nothing is found, the error lists
every place it looked.
Learn more
- Documentation: https://cdp.nullean.net, and the library
- Synthetic journeys on top of this client: Nullean.Cdp.Journeys
- Source and issues: https://github.com/nullean/cdp
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Nullean.Cdp:
| Package | Downloads |
|---|---|
|
Nullean.Cdp.Journeys
Synthetic browser journeys: plain text files in agent-browser's command language, parsed, run with Nullean.Cdp and exported to agent-browser's batch JSON. |
|
|
Nullean.Snapshots.Browser
Browser journeys for Nullean.Snapshots: run agent-browser style journeys with Nullean.Cdp and compare their transcripts, accessibility trees and reads, as trees. |
GitHub repositories
This package is not used by any popular GitHub repositories.