docs(dotnet): udpate existing examples (#6669)
This commit is contained in:
parent
ba637e6e41
commit
fad77e2f78
|
|
@ -71,7 +71,7 @@ class BrowserExamples
|
|||
{
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
var firefox = playwright.Firefox;
|
||||
var browser = await firefox.LaunchAsync(headless: false);
|
||||
var browser = await firefox.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false });
|
||||
var page = await browser.NewPageAsync();
|
||||
await page.GotoAsync("https://www.bing.com");
|
||||
await browser.CloseAsync();
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ context.close()
|
|||
|
||||
```csharp
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
var browser = await playwright.Firefox.LaunchAsync(headless: false);
|
||||
var browser = await playwright.Firefox.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false });
|
||||
// Create a new incognito browser context
|
||||
var context = await browser.NewContextAsync();
|
||||
// Create a new page inside context.
|
||||
|
|
@ -132,9 +132,10 @@ print(page.evaluate("location.href"))
|
|||
```
|
||||
|
||||
```csharp
|
||||
var popupTask = context.WaitForPageAsync();
|
||||
await page.ClickAsync("a");
|
||||
var popup = await popupTask;
|
||||
var popup = await context.RunAndWaitForEventAsync(BrowserContextEvent.Page, async =>
|
||||
{
|
||||
await page.ClickAsync("a");
|
||||
});
|
||||
Console.WriteLine(await popup.EvaluateAsync<string>("location.href"));
|
||||
```
|
||||
|
||||
|
|
@ -269,7 +270,7 @@ browser_context.add_init_script(path="preload.js")
|
|||
```
|
||||
|
||||
```csharp
|
||||
await context.AddInitScriptAsync(scriptPath: "preload.js");
|
||||
await context.AddInitScriptAsync(new BrowserContextAddInitScriptOptions { ScriptPath = "preload.js" });
|
||||
```
|
||||
|
||||
:::note
|
||||
|
|
@ -503,7 +504,7 @@ class Program
|
|||
public static async Task Main()
|
||||
{
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
var browser = await playwright.Webkit.LaunchAsync(headless: false);
|
||||
var browser = await playwright.Webkit.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false });
|
||||
var context = await browser.NewContextAsync();
|
||||
|
||||
await context.ExposeBindingAsync("pageURL", source => source.Page.Url);
|
||||
|
|
@ -762,7 +763,7 @@ class BrowserContextExamples
|
|||
public static async Task AddMd5FunctionToAllPagesInContext()
|
||||
{
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
var browser = await playwright.Webkit.LaunchAsync(headless: false);
|
||||
var browser = await playwright.Webkit.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false });
|
||||
var context = await browser.NewContextAsync();
|
||||
|
||||
// NOTE: md5 is inherently insecure, and we strongly discourage using
|
||||
|
|
|
|||
|
|
@ -213,7 +213,9 @@ browser = playwright.chromium.launch( # or "firefox" or "webkit".
|
|||
```
|
||||
|
||||
```csharp
|
||||
var browser = await playwright.Chromium.LaunchAsync(ignoreDefaultArgs: new[] { "--mute-audio" })
|
||||
var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions {
|
||||
IgnoreDefaultArgs = new[] { "--mute-audio" }
|
||||
})
|
||||
```
|
||||
|
||||
> **Chromium-only** Playwright can also be used to control the Google Chrome or Microsoft Edge browsers, but it works best with the version of
|
||||
|
|
|
|||
|
|
@ -49,9 +49,10 @@ path = download.path()
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForDownloadTask = page.WaitForDownloadAsync();
|
||||
await page.ClickAsync("#downloadButton");
|
||||
var download = await waitForDownloadTask;
|
||||
var download = await page.RunAndWaitForEventAsync(PageEvent.Download, async () =>
|
||||
{
|
||||
await page.ClickAsync("#downloadButton");
|
||||
});
|
||||
Console.WriteLine(await download.PathAsync());
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ class HandleExamples
|
|||
public static async Task Run()
|
||||
{
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
var browser = await playwright.Chromium.LaunchAsync(headless: false);
|
||||
var browser = await playwright.Chromium.LaunchAsync();
|
||||
var page = await browser.NewPageAsync();
|
||||
await page.GotoAsync("https://www.bing.com");
|
||||
var handle = await page.QuerySelectorAsync("a");
|
||||
|
|
|
|||
|
|
@ -30,9 +30,10 @@ file_chooser.set_files("myfile.pdf")
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForFileChooserTask = page.WaitForFileChooserAsync();
|
||||
await page.ClickAsync("upload");
|
||||
var fileChooser = await waitForFileChooserTask;
|
||||
var fileChooser = await page.RunAndWaitForEventAsync(Page.FileChooser, async () =>
|
||||
{
|
||||
await page.ClickAsync("upload");
|
||||
});
|
||||
await fileChooser.SetFilesAsync("temp.txt");
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ try {
|
|||
// Crash might happen during a click.
|
||||
await page.ClickAsync("button");
|
||||
// Or while waiting for an event.
|
||||
await page.WaitForPopupAsync(() -> {});
|
||||
await page.WaitForEventAsync(PageEvent.Popup);
|
||||
} catch (PlaywrightException e) {
|
||||
// When the page crashes, exception message contains "crash".
|
||||
}
|
||||
|
|
@ -397,9 +397,10 @@ print(popup.evaluate("location.href"))
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForPopupTask = page.WaitForPopupAsync();
|
||||
await page.EvaluateAsync("() => window.open('https://microsoft.com')");
|
||||
var popup = await waitForPopupTask;
|
||||
var popup = await page.RunAndWaitForEventAsync(PageEvent.Popup, async () =>
|
||||
{
|
||||
await page.EvaluateAsync("() => window.open('https://microsoft.com')");
|
||||
});
|
||||
Console.WriteLine(await popup.EvaluateAsync<string>("location.href"));
|
||||
```
|
||||
|
||||
|
|
@ -489,7 +490,7 @@ page.add_init_script(path="./preload.js")
|
|||
```
|
||||
|
||||
```csharp
|
||||
await page.AddInitScriptAsync(scriptPath: "./preload.js");
|
||||
await page.AddInitScriptAsync(new PageAddInitScriptOption { ScriptPath = "./preload.js" });
|
||||
```
|
||||
|
||||
:::note
|
||||
|
|
@ -895,13 +896,13 @@ await page.EvaluateAsync("() => matchMedia('screen').matches");
|
|||
await page.EvaluateAsync("() => matchMedia('print').matches");
|
||||
// → false
|
||||
|
||||
await page.EmulateMediaAsync(Media.Print);
|
||||
await page.EmulateMediaAsync(new PageEmulateMediaOptions { Media = Media.Print });
|
||||
await page.EvaluateAsync("() => matchMedia('screen').matches");
|
||||
// → false
|
||||
await page.EvaluateAsync("() => matchMedia('print').matches");
|
||||
// → true
|
||||
|
||||
await page.EmulateMediaAsync(Media.Screen);
|
||||
await page.EmulateMediaAsync(new PageEmulateMediaOptions { Media = Media.Screen });
|
||||
await page.EvaluateAsync("() => matchMedia('screen').matches");
|
||||
// → true
|
||||
await page.EvaluateAsync("() => matchMedia('print').matches");
|
||||
|
|
@ -948,7 +949,7 @@ page.evaluate("matchMedia('(prefers-color-scheme: no-preference)').matches")
|
|||
```
|
||||
|
||||
```csharp
|
||||
await page.EmulateMediaAsync(colorScheme: ColorScheme.Dark);
|
||||
await page.EmulateMediaAsync(new PageEmulateMediaOptions { ColorScheme = ColorScheme.Dark });
|
||||
await page.EvaluateAsync("matchMedia('(prefers-color-scheme: dark)').matches");
|
||||
// → true
|
||||
await page.EvaluateAsync("matchMedia('(prefers-color-scheme: light)').matches");
|
||||
|
|
@ -1403,7 +1404,10 @@ class PageExamples
|
|||
public static async Task Main()
|
||||
{
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
await using var browser = await playwright.Webkit.LaunchAsync(headless: false);
|
||||
await using var browser = await playwright.Webkit.LaunchAsync(new BrowserTypeLaunchOptions
|
||||
{
|
||||
Headless: false
|
||||
});
|
||||
var page = await browser.NewPageAsync();
|
||||
|
||||
await page.ExposeBindingAsync("pageUrl", (source) => source.Page.Url);
|
||||
|
|
@ -1658,7 +1662,10 @@ class PageExamples
|
|||
public static async Task Main()
|
||||
{
|
||||
using var playwright = await Playwright.CreateAsync();
|
||||
await using var browser = await playwright.Webkit.LaunchAsync(headless: false);
|
||||
await using var browser = await playwright.Webkit.LaunchAsync(new BrowserTypeLaunchOptions
|
||||
{
|
||||
Headless: false
|
||||
});
|
||||
var page = await browser.NewPageAsync();
|
||||
|
||||
// NOTE: md5 is inherently insecure, and we strongly discourage using
|
||||
|
|
@ -2056,8 +2063,8 @@ page.pdf(path="page.pdf")
|
|||
|
||||
```csharp
|
||||
// Generates a PDF with 'screen' media type
|
||||
await page.EmulateMediaAsync(Media.Screen);
|
||||
await page.PdfAsync("page.pdf");
|
||||
await page.EmulateMediaAsync(new PageEmulateMediaOptions { Media = Media.Screen });
|
||||
await page.PdfAsync(new PagePdfOptions { Path = "page.pdf" });
|
||||
```
|
||||
|
||||
The [`option: width`], [`option: height`], and [`option: margin`] options accept values labeled with units. Unlabeled
|
||||
|
|
@ -2265,7 +2272,6 @@ browser.close()
|
|||
```
|
||||
|
||||
```csharp
|
||||
await using var browser = await playwright.Webkit.LaunchAsync(headless: false);
|
||||
var page = await browser.NewPageAsync();
|
||||
await page.GotoAsync("https://keycode.info");
|
||||
await page.PressAsync("body", "A");
|
||||
|
|
@ -2369,7 +2375,6 @@ browser.close()
|
|||
```
|
||||
|
||||
```csharp
|
||||
await using var browser = await playwright.Webkit.LaunchAsync();
|
||||
var page = await browser.NewPageAsync();
|
||||
await page.RouteAsync("**/*.{png,jpg,jpeg}", async r => await r.AbortAsync());
|
||||
await page.GotoAsync("https://www.microsoft.com");
|
||||
|
|
@ -2406,7 +2411,6 @@ browser.close()
|
|||
```
|
||||
|
||||
```csharp
|
||||
await using var browser = await playwright.Webkit.LaunchAsync();
|
||||
var page = await browser.NewPageAsync();
|
||||
await page.RouteAsync(new Regex("(\\.png$)|(\\.jpg$)"), async r => await r.AbortAsync());
|
||||
await page.GotoAsync("https://www.microsoft.com");
|
||||
|
|
@ -2454,7 +2458,7 @@ page.route("/api/**", handle_route)
|
|||
await page.RouteAsync("/api/**", async r =>
|
||||
{
|
||||
if (r.Request.PostData.Contains("my-string"))
|
||||
await r.FulfillAsync(body: "mocked-data");
|
||||
await r.FulfillAsync(new RouteFulfillOptions { Body = "mocked-data" });
|
||||
else
|
||||
await r.ContinueAsync();
|
||||
});
|
||||
|
|
@ -2966,9 +2970,10 @@ frame = event_info.value
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitTask = page.WaitForEventAsync(PageEvent.FrameNavigated);
|
||||
await page.ClickAsync("button");
|
||||
var frame = await waitTask;
|
||||
var frame = await page.RunAndWaitForEventAsync(PageEvent.FrameNavigated, async () =>
|
||||
{
|
||||
await page.ClickAsync("button");
|
||||
}
|
||||
```
|
||||
|
||||
### param: Page.waitForEvent.event = %%-wait-for-event-event-%%
|
||||
|
|
@ -3195,9 +3200,10 @@ print(popup.title()) # popup is ready to use.
|
|||
```
|
||||
|
||||
```csharp
|
||||
var popupTask = page.WaitForPopupAsync();
|
||||
await page.ClickAsync("button"); // click triggers the popup/
|
||||
var popup = await popupTask;
|
||||
var popup = await page.RunAndWaitForEventAsync(PageEvent.Popup, async () =>
|
||||
{
|
||||
await page.ClickAsync("button"); // click triggers the popup/
|
||||
});
|
||||
await popup.WaitForLoadStateAsync(LoadState.DOMContentLoaded);
|
||||
Console.WriteLine(await popup.TitleAsync()); // popup is ready to use.
|
||||
```
|
||||
|
|
|
|||
|
|
@ -239,9 +239,10 @@ print(request.timing)
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForEventTask = page.WaitForEventAsync(PageEvent.RequestFinished);
|
||||
await page.GotoAsync("https://www.microsoft.com");
|
||||
var request = await waitForEventTask;
|
||||
var request = await page.RunAndWaitForEventAsync(PageEvent.RequestFinished, async () =>
|
||||
{
|
||||
await page.GotoAsync("https://www.microsoft.com");
|
||||
});
|
||||
Console.WriteLine(request.Timing.ResponseEnd);
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ page.route("**/xhr_endpoint", lambda route: route.fulfill(path="mock_data.json")
|
|||
```
|
||||
|
||||
```csharp
|
||||
await page.RouteAsync("**/xhr_endpoint", route => route.FulfillAsync(path: "mock_data.json"));
|
||||
await page.RouteAsync("**/xhr_endpoint", route => route.FulfillAsync(new RouteFulfillOptions { Path = "mock_data.json" }));
|
||||
```
|
||||
|
||||
### option: Route.fulfill.status
|
||||
|
|
|
|||
|
|
@ -92,9 +92,10 @@ popup.value.goto("https://wikipedia.org")
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForPopupTask = page.WaitForPopupAsync();
|
||||
await page.EvaluateAsync("window.open()");
|
||||
var popup = await waitForPopupTask;
|
||||
var popup = await page.RunAndWaitForEventAsync(PageEvent.Popup, async =>
|
||||
{
|
||||
await page.EvaluateAsync("window.open()");
|
||||
});
|
||||
await popup.GotoAsync("https://wikipedia.org");
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -367,16 +367,16 @@ await page.ClickAsync("button#submit");
|
|||
await page.DblClickAsync("#item");
|
||||
|
||||
// Right click
|
||||
await page.ClickAsync("#item", button: MouseButton.Right);
|
||||
await page.ClickAsync("#item", new PageClickOptions { Button = MouseButton.Right });
|
||||
|
||||
// Shift + click
|
||||
await page.ClickAsync("#item", modifiers: new[] { KeyboardModifier.Shift });
|
||||
await page.ClickAsync("#item", new PageClickOptions { Modifiers = new[] { KeyboardModifier.Shift } });
|
||||
|
||||
// Hover over element
|
||||
await page.HoverAsync("#item");
|
||||
|
||||
// Click the top left corner
|
||||
await page.ClickAsync("#item", position: new Position { X = 0, Y = 0 });
|
||||
await page.ClickAsync("#item", new PageClickOptions { position = new Position { X = 0, Y = 0 } });
|
||||
```
|
||||
|
||||
Under the hood, this and other pointer-related methods:
|
||||
|
|
@ -409,7 +409,7 @@ page.click('button#submit', force=True)
|
|||
```
|
||||
|
||||
```csharp
|
||||
await page.ClickAsync("button#submit", force: true);
|
||||
await page.ClickAsync("button#submit", new PageClickOptions { Force = true });
|
||||
```
|
||||
|
||||
#### Programmatic click
|
||||
|
|
@ -750,9 +750,10 @@ file_chooser.set_files("myfile.pdf")
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForChooserTask = page.WaitForFileChooserAsync();
|
||||
await page.ClickAsync("upload");
|
||||
var fileChooser = await waitForChooserTask;
|
||||
var fileChooser = page.RunAndWaitForAsync(PageEvent.FileChooser, async () =>
|
||||
{
|
||||
await page.ClickAsync("upload");
|
||||
});
|
||||
await fileChooser.SetFilesAsync("myfile.pdf");
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class Example
|
|||
await using var browser = await playwright.Chromium.LaunchAsync();
|
||||
var page = await browser.NewPageAsync();
|
||||
await page.GotoAsync("whatsmyuseragent.org");
|
||||
await page.ScreenshotAsync(path: "screenshot.png");
|
||||
await page.ScreenshotAsync(new PageScreenshotOptions { Path = "screenshot.png" });
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -55,7 +55,7 @@ class Example
|
|||
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(headless: false, slowMo: 50);
|
||||
await playwright.Firefox.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false, SlowMo = 50 });
|
||||
```
|
||||
|
||||
## Record scripts
|
||||
|
|
|
|||
|
|
@ -209,10 +209,11 @@ print(new_page.title())
|
|||
|
||||
```csharp
|
||||
// Get page after a specific action (e.g. clicking a link)
|
||||
var waitForPageTask = context.WaitForPageAsync();
|
||||
await page.ClickAsync("a[target='_blank']");
|
||||
var newPage = await waitForPageTask;
|
||||
await page.WaitForLoadStateAsync();
|
||||
var newPage = await context.RunAndWaitForEventAsync(BrowserContextEvent.Page, async () =>
|
||||
{
|
||||
await page.ClickAsync("a[target='_blank']");
|
||||
});
|
||||
await newPage.WaitForLoadStateAsync();
|
||||
Console.WriteLine(await newPage.TitleAsync());
|
||||
```
|
||||
|
||||
|
|
@ -310,9 +311,10 @@ print(popup.title())
|
|||
|
||||
```csharp
|
||||
// Get popup after a specific action (e.g., click)
|
||||
var waitForPopupTask = page.WaitForPopupAsync();
|
||||
await page.ClickAsync("#open");
|
||||
var newPage = await waitForPopupTask;
|
||||
var newPage = await page.RunAndWaitForEventAsync(PageEvent.Popup, async () =>
|
||||
{
|
||||
await page.ClickAsync("#open");
|
||||
});
|
||||
await newPage.WaitForLoadStateAsync();
|
||||
Console.WriteLine(await newPage.TitleAsync());
|
||||
```
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ page.goto("https://example.com", wait_until="networkidle")
|
|||
|
||||
```csharp
|
||||
// Navigate and wait until network is idle
|
||||
await page.GotoAsync("https://example.com", waitUntil: WaitUntilState.NetworkIdle);
|
||||
await page.GotoAsync("https://example.com", new PageGotoOptions { WaitUntil = WaitUntilState.NetworkIdle });
|
||||
```
|
||||
|
||||
### Wait for element
|
||||
|
|
@ -394,7 +394,7 @@ with page.expect_navigation(url="**/login"):
|
|||
// Running action in the callback of waitForNavigation prevents a race
|
||||
// condition between clicking and waiting for a navigation.
|
||||
await Task.WhenAll(
|
||||
page.WaitForNavigationAsync("**/login"), // Waits for the next navigation
|
||||
page.WaitForNavigationAsync(new PageWaitForNavigationOptions { UrlString = "**/login" }), // Waits for the next navigation
|
||||
page.ClickAsync("a") // Triggers a navigation with a script redirect
|
||||
);
|
||||
```
|
||||
|
|
@ -434,9 +434,10 @@ popup.wait_for_load_state("load")
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForPopupTask = page.WaitForPopupAsync();
|
||||
await page.ClickAsync("a[target='_blank']"); // Opens popup
|
||||
var popup = await waitForPopupTask;
|
||||
var popup = await page.RunAndWaitForEventAsync(PageEvent.Popup, async () =>
|
||||
{
|
||||
await page.ClickAsync("a[target='_blank']"); // Opens popup
|
||||
});
|
||||
popup.WaitForLoadStateAsync(LoadState.Load);
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ page.goto("https://example.com")
|
|||
```
|
||||
|
||||
```csharp
|
||||
using var context = await Browser.NewContextAsync(new BrowserContextOptions
|
||||
using var context = await Browser.NewContextAsync(new BrowserNewContextOptions
|
||||
{
|
||||
HttpCredentials = new HttpCredentials
|
||||
{
|
||||
|
|
@ -113,7 +113,10 @@ var proxy = new Proxy
|
|||
Username = "user",
|
||||
Password = "pwd"
|
||||
};
|
||||
await using var browser = await BrowserType.LaunchAsync(proxy: proxy);
|
||||
await using var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions
|
||||
{
|
||||
Proxy = proxy
|
||||
});
|
||||
```
|
||||
|
||||
When specifying proxy for each context individually, you need to give Playwright
|
||||
|
|
@ -148,8 +151,14 @@ context = browser.new_context(proxy={"server": "http://myproxy.com:3128"})
|
|||
|
||||
```csharp
|
||||
var proxy = new Proxy { Server = "per-context" };
|
||||
await using var browser = await BrowserType.LaunchAsync(proxy: proxy);
|
||||
using var context = await Browser.NewContextAsync(proxy: new Proxy { Server = "http://myproxy.com:3128" });
|
||||
await using var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions
|
||||
{
|
||||
Proxy = proxy
|
||||
});
|
||||
using var context = await Browser.NewContextAsync(new BrowserNewContextOptions
|
||||
{
|
||||
Proxy = new Proxy { Server = "http://myproxy.com:3128" })
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -502,7 +511,7 @@ page.route("**/*", lambda route: route.continue_(method="POST"))
|
|||
await page.RouteAsync("**/*", async route => {
|
||||
var headers = new Dictionary<string, string>(route.Request.Headers.ToDictionary(x => x.Key, x => x.Value));
|
||||
headers.Remove("X-Secret");
|
||||
await route.ContinueAsync(headers: headers);
|
||||
await route.ContinueAsync(new RouteContinueOptions { Headers = headers });
|
||||
});
|
||||
|
||||
// Continue requests as POST.
|
||||
|
|
|
|||
|
|
@ -244,9 +244,10 @@ popup = popup_info.value
|
|||
```
|
||||
|
||||
```csharp
|
||||
var waitForPopupTask = page.WaitForPopupAsync();
|
||||
await page.ClickAsync("#open");
|
||||
var popup = await waitForPopupTask;
|
||||
var popup = await page.RunAndWaitForEventAsync(PageEvent.Popup, async () =>
|
||||
{
|
||||
await page.ClickAsync("#open");
|
||||
});
|
||||
```
|
||||
|
||||
### API reference
|
||||
|
|
|
|||
|
|
@ -33,7 +33,10 @@ context.close()
|
|||
```
|
||||
|
||||
```csharp
|
||||
var context = await browser.NewContextAsync(recordVideoDir: "videos/");
|
||||
var context = await browser.NewContextAsync(new BrowserNewContextOptions
|
||||
{
|
||||
RecordVideoDir = "videos/"
|
||||
});
|
||||
// Make sure to close, so that videos are saved.
|
||||
await context.CloseAsync();
|
||||
```
|
||||
|
|
@ -70,10 +73,11 @@ context = browser.new_context(
|
|||
```
|
||||
|
||||
```csharp
|
||||
var context = await browser.NewContextAsync(
|
||||
recordVideoDir: "videos/",
|
||||
recordVideoSize: new RecordVideoSize() { Width = 640, Height = 480 }
|
||||
);
|
||||
var context = await browser.NewContextAsync(new BrowserNewContextOptions
|
||||
{
|
||||
RecordVideoDir = "videos/",
|
||||
RecordVideoSize = new RecordVideoSize() { Width = 640, Height = 480 }
|
||||
});
|
||||
// Make sure to close, so that videos are saved.
|
||||
await context.CloseAsync();
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in a new issue