C# Automation with PuppeteerSharp
With PuppeteerSharp you can use Puppeteer together with .NET
PuppeteerSharp is a NetStandard 2.0 library.
The minimum platform versions are .NET Framework 4.6.1
and .NET Core 2.0
.
The minimum Windows versions supporting the WebSocket library are Windows 8 and Windows Server 2012.
Getting Started
Let's create a basic project:
dotnet new console -n headless_puppeteer_demo
Now, we need to add the PuppeteerSharp
dependency:
dotnet add package PuppeteerSharp
Let's create a sample script in Program.cs
which will navigate to our website and take a screenshot:
using System;
using System.Threading.Tasks;
using PuppeteerSharp;
namespace _headless_puppeteer_demo
{
class Program
{
static async Task Main(string[] args)
{
var options = new ConnectOptions()
{
BrowserWSEndpoint = "wss://chrome.headlesstesting.com?token=[YOUR-TOKEN]",
};
using (var browser = await PuppeteerSharp.Puppeteer.ConnectAsync(options))
{
using (var page = await browser.NewPageAsync())
{
await page.GoToAsync("https://headlesstesting.com");
await page.ScreenshotAsync("screenshot.jpg");
await page.CloseAsync();
}
}
}
}
}
Next, we'll need to build the project:
dotnet build
And finally, we can run the script:
dotnet run
This will open a Headless Browser on our service, take a screenshot and save the screenshot on your filesystem as screenshot.jpg
.