mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
108 lines
2.6 KiB
Markdown
108 lines
2.6 KiB
Markdown
---
|
|
id: intro
|
|
title: "Getting Started"
|
|
---
|
|
|
|
<!-- TOC -->
|
|
- [Release notes](./release-notes.md)
|
|
|
|
## Installation
|
|
|
|
Install Microsoft.Playwright package from NuGet in Visual Studio or from the CLI in your project root directory:
|
|
|
|
```bash
|
|
dotnet add package Microsoft.Playwright
|
|
```
|
|
|
|
## Usage
|
|
|
|
```csharp
|
|
using Microsoft.Playwright;
|
|
using System.Threading.Tasks;
|
|
|
|
class Program
|
|
{
|
|
public static async Task Main()
|
|
{
|
|
using var playwright = await Playwright.CreateAsync();
|
|
await using var browser = await playwright.Chromium.LaunchAsync();
|
|
// Create pages, interact with UI elements, assert values
|
|
}
|
|
}
|
|
```
|
|
|
|
## First script
|
|
|
|
Create a console project and add the Playwright dependency.
|
|
|
|
```bash
|
|
dotnet new console -n pw_demo
|
|
cd pw_demo
|
|
dotnet add package Microsoft.Playwright --prerelease
|
|
```
|
|
|
|
Create a Program.cs that will navigate to `https://playwright.dev/dotnet` and take a screenshot in Chromium.
|
|
|
|
```csharp
|
|
using Microsoft.Playwright;
|
|
using System.Threading.Tasks;
|
|
|
|
class Program
|
|
{
|
|
public static async Task Main()
|
|
{
|
|
using var playwright = await Playwright.CreateAsync();
|
|
await using var browser = await playwright.Chromium.LaunchAsync();
|
|
var page = await browser.NewPageAsync();
|
|
await page.GotoAsync("https://playwright.dev/dotnet");
|
|
await page.ScreenshotAsync(new PageScreenshotOptions { Path = "screenshot.png" });
|
|
}
|
|
}
|
|
```
|
|
|
|
Now build it and run it.
|
|
|
|
```bash
|
|
dotnet build
|
|
dotnet run
|
|
```
|
|
|
|
By default, Playwright runs the browsers in headless mode. To see the browser UI, pass the `Headless = false` flag while launching the browser. You can also use [`option: slowMo`] to slow down execution. Learn more in the debugging tools [section](./debug.md).
|
|
|
|
```csharp
|
|
await playwright.Firefox.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false, SlowMo = 50 });
|
|
```
|
|
|
|
## Record scripts
|
|
|
|
Command Line Interface [CLI](./cli.md) can be used to record user interactions and generate C# code.
|
|
|
|
```bash
|
|
# FIXME:
|
|
```
|
|
|
|
## System requirements
|
|
|
|
The browser binaries for Chromium, Firefox and WebKit work across the 3 platforms (Windows, macOS, Linux):
|
|
|
|
### Windows
|
|
|
|
Works with Windows and Windows Subsystem for Linux (WSL).
|
|
|
|
### macOS
|
|
|
|
Requires 10.14 (Mojave) or above.
|
|
|
|
### Linux
|
|
|
|
Depending on your Linux distribution, you might need to install additional
|
|
dependencies to run the browsers.
|
|
|
|
:::note
|
|
Only Ubuntu 18.04 and Ubuntu 20.04 are officially supported.
|
|
:::
|
|
|
|
See also in the [Command Line Interface](./cli.md#install-system-dependencies)
|
|
which has a command to install all necessary dependencies automatically for Ubuntu
|
|
LTS releases.
|