Best Playwright-dotnet code snippet using Microsoft.Playwright.Core.Frame.ContentAsync
Page.cs
Source:Page.cs
...474 File.WriteAllBytes(options.Path, result);475 }476 return result;477 }478 public Task SetContentAsync(string html, PageSetContentOptions options = default)479 => MainFrame.SetContentAsync(html, new() { WaitUntil = options?.WaitUntil, Timeout = options?.Timeout });480 public Task<string> ContentAsync() => MainFrame.ContentAsync();481 public Task SetExtraHTTPHeadersAsync(IEnumerable<KeyValuePair<string, string>> headers)482 => _channel.SetExtraHTTPHeadersAsync(headers);483 public Task<IElementHandle> QuerySelectorAsync(string selector) => MainFrame.QuerySelectorAsync(selector);484 public Task<IReadOnlyList<IElementHandle>> QuerySelectorAllAsync(string selector)485 => MainFrame.QuerySelectorAllAsync(selector);486 public Task<IJSHandle> EvaluateHandleAsync(string expression, object arg) => MainFrame.EvaluateHandleAsync(expression, arg);487 public Task<IElementHandle> AddScriptTagAsync(PageAddScriptTagOptions options = default)488 => MainFrame.AddScriptTagAsync(new()489 {490 Url = options?.Url,491 Path = options?.Path,492 Content = options?.Content,493 Type = options?.Type,494 });495 public Task<IElementHandle> AddStyleTagAsync(PageAddStyleTagOptions options = default)496 => MainFrame.AddStyleTagAsync(new()497 {498 Url = options?.Url,499 Path = options?.Path,500 Content = options?.Content,501 });502 public Task ClickAsync(string selector, PageClickOptions options = default)503 => MainFrame.ClickAsync(504 selector,505 new()506 {507 Button = options?.Button,508 ClickCount = options?.ClickCount,509 Delay = options?.Delay,510 Position = options?.Position,511 Modifiers = options?.Modifiers,512 Force = options?.Force,513 NoWaitAfter = options?.NoWaitAfter,514 Timeout = options?.Timeout,515 Trial = options?.Trial,516 Strict = options?.Strict,517 });518 public Task DblClickAsync(string selector, PageDblClickOptions options = default)519 => MainFrame.DblClickAsync(selector, new()520 {521 Delay = options?.Delay,522 Button = options?.Button,523 Position = options?.Position,524 Modifiers = options?.Modifiers,525 Timeout = options?.Timeout,526 Force = options?.Force,527 NoWaitAfter = options?.NoWaitAfter,528 Trial = options?.Trial,529 Strict = options?.Strict,530 });531 public async Task<IResponse> GoBackAsync(PageGoBackOptions options = default)532 => (await _channel.GoBackAsync(options?.Timeout, options?.WaitUntil).ConfigureAwait(false))?.Object;533 public async Task<IResponse> GoForwardAsync(PageGoForwardOptions options = default)534 => (await _channel.GoForwardAsync(options?.Timeout, options?.WaitUntil).ConfigureAwait(false))?.Object;535 public async Task<IResponse> ReloadAsync(PageReloadOptions options = default)536 => (await _channel.ReloadAsync(options?.Timeout, options?.WaitUntil).ConfigureAwait(false))?.Object;537 public Task ExposeBindingAsync(string name, Action callback, PageExposeBindingOptions options = default)538 => InnerExposeBindingAsync(name, (Delegate)callback, options?.Handle ?? false);539 public Task ExposeBindingAsync(string name, Action<BindingSource> callback)540 => InnerExposeBindingAsync(name, (Delegate)callback);541 public Task ExposeBindingAsync<T>(string name, Action<BindingSource, T> callback)542 => InnerExposeBindingAsync(name, (Delegate)callback);543 public Task ExposeBindingAsync<TResult>(string name, Func<BindingSource, TResult> callback)544 => InnerExposeBindingAsync(name, (Delegate)callback);545 public Task ExposeBindingAsync<TResult>(string name, Func<BindingSource, IJSHandle, TResult> callback)546 => InnerExposeBindingAsync(name, (Delegate)callback, true);547 public Task ExposeBindingAsync<T, TResult>(string name, Func<BindingSource, T, TResult> callback)548 => InnerExposeBindingAsync(name, (Delegate)callback);549 public Task ExposeBindingAsync<T1, T2, TResult>(string name, Func<BindingSource, T1, T2, TResult> callback)550 => InnerExposeBindingAsync(name, (Delegate)callback);551 public Task ExposeBindingAsync<T1, T2, T3, TResult>(string name, Func<BindingSource, T1, T2, T3, TResult> callback)552 => InnerExposeBindingAsync(name, (Delegate)callback);553 public Task ExposeBindingAsync<T1, T2, T3, T4, TResult>(string name, Func<BindingSource, T1, T2, T3, T4, TResult> callback)554 => InnerExposeBindingAsync(name, (Delegate)callback);555 public Task ExposeFunctionAsync(string name, Action callback)556 => ExposeBindingAsync(name, (BindingSource _) => callback());557 public Task ExposeFunctionAsync<T>(string name, Action<T> callback)558 => ExposeBindingAsync(name, (BindingSource _, T t) => callback(t));559 public Task ExposeFunctionAsync<TResult>(string name, Func<TResult> callback)560 => ExposeBindingAsync(name, (BindingSource _) => callback());561 public Task ExposeFunctionAsync<T, TResult>(string name, Func<T, TResult> callback)562 => ExposeBindingAsync(name, (BindingSource _, T t) => callback(t));563 public Task ExposeFunctionAsync<T1, T2, TResult>(string name, Func<T1, T2, TResult> callback)564 => ExposeBindingAsync(name, (BindingSource _, T1 t1, T2 t2) => callback(t1, t2));565 public Task ExposeFunctionAsync<T1, T2, T3, TResult>(string name, Func<T1, T2, T3, TResult> callback)566 => ExposeBindingAsync(name, (BindingSource _, T1 t1, T2 t2, T3 t3) => callback(t1, t2, t3));567 public Task ExposeFunctionAsync<T1, T2, T3, T4, TResult>(string name, Func<T1, T2, T3, T4, TResult> callback)568 => ExposeBindingAsync(name, (BindingSource _, T1 t1, T2 t2, T3 t3, T4 t4) => callback(t1, t2, t3, t4));569 public async Task<byte[]> PdfAsync(PagePdfOptions options = default)570 {571 if (!Context.IsChromium)572 {573 throw new NotSupportedException("This browser doesn't support this action.");574 }575 byte[] result = await _channel.PdfAsync(576 scale: options?.Scale,577 displayHeaderFooter: options?.DisplayHeaderFooter,578 headerTemplate: options?.HeaderTemplate,579 footerTemplate: options?.FooterTemplate,580 printBackground: options?.PrintBackground,581 landscape: options?.Landscape,582 pageRanges: options?.PageRanges,583 format: options?.Format,584 width: options?.Width,585 height: options?.Height,586 margin: options?.Margin,587 preferCSSPageSize: options?.PreferCSSPageSize).ConfigureAwait(false);588 if (!string.IsNullOrEmpty(options?.Path))589 {590 Directory.CreateDirectory(new FileInfo(options.Path).Directory.FullName);591 File.WriteAllBytes(options.Path, result);592 }593 return result;594 }595 public Task AddInitScriptAsync(string script, string scriptPath)596 => _channel.AddInitScriptAsync(ScriptsHelper.EvaluationScript(script, scriptPath));597 public Task RouteAsync(string url, Action<IRoute> handler, PageRouteOptions options = null)598 => RouteAsync(new Regex(Context.CombineUrlWithBase(url).GlobToRegex()), null, handler, options);599 public Task RouteAsync(Regex url, Action<IRoute> handler, PageRouteOptions options = null)600 => RouteAsync(url, null, handler, options);601 public Task RouteAsync(Func<string, bool> url, Action<IRoute> handler, PageRouteOptions options = null)602 => RouteAsync(null, url, handler, options);603 public Task UnrouteAsync(string urlString, Action<IRoute> handler)604 => UnrouteAsync(new Regex(Context.CombineUrlWithBase(urlString).GlobToRegex()), null, handler);605 public Task UnrouteAsync(Regex urlString, Action<IRoute> handler)606 => UnrouteAsync(urlString, null, handler);607 public Task UnrouteAsync(Func<string, bool> urlFunc, Action<IRoute> handler)608 => UnrouteAsync(null, urlFunc, handler);609 public Task WaitForLoadStateAsync(LoadState? state = default, PageWaitForLoadStateOptions options = default)610 => MainFrame.WaitForLoadStateAsync(state, new() { Timeout = options?.Timeout });611 public Task SetViewportSizeAsync(int width, int height)612 {613 ViewportSize = new() { Width = width, Height = height };614 return _channel.SetViewportSizeAsync(ViewportSize);615 }616 public Task SetCheckedAsync(string selector, bool checkedState, PageSetCheckedOptions options = null)617 => checkedState ?618 MainFrame.CheckAsync(selector, new()619 {620 Position = options?.Position,621 Force = options?.Force,622 NoWaitAfter = options?.NoWaitAfter,623 Strict = options?.Strict,624 Timeout = options?.Timeout,625 Trial = options?.Trial,626 })627 : MainFrame.UncheckAsync(selector, new()628 {629 Position = options?.Position,630 Force = options?.Force,631 NoWaitAfter = options?.NoWaitAfter,632 Timeout = options?.Timeout,633 Trial = options?.Trial,634 Strict = options?.Strict,635 });636 public Task CheckAsync(string selector, PageCheckOptions options = default)637 => MainFrame.CheckAsync(selector, new()638 {639 Position = options?.Position,640 Force = options?.Force,641 NoWaitAfter = options?.NoWaitAfter,642 Strict = options?.Strict,643 Timeout = options?.Timeout,644 Trial = options?.Trial,645 });646 public Task UncheckAsync(string selector, PageUncheckOptions options = default)647 => MainFrame.UncheckAsync(selector, new()648 {649 Position = options?.Position,650 Force = options?.Force,651 NoWaitAfter = options?.NoWaitAfter,652 Timeout = options?.Timeout,653 Trial = options?.Trial,654 Strict = options?.Strict,655 });656 public Task DispatchEventAsync(string selector, string type, object eventInit = default, PageDispatchEventOptions options = default)657 => MainFrame.DispatchEventAsync(selector, type, eventInit, new() { Timeout = options?.Timeout, Strict = options?.Strict });658 public Task<string> GetAttributeAsync(string selector, string name, PageGetAttributeOptions options = default)659 => MainFrame.GetAttributeAsync(selector, name, new()660 {661 Timeout = options?.Timeout,662 Strict = options?.Strict,663 });664 public Task<string> InnerHTMLAsync(string selector, PageInnerHTMLOptions options = default)665 => MainFrame.InnerHTMLAsync(selector, new()666 {667 Timeout = options?.Timeout,668 Strict = options?.Strict,669 });670 public Task<string> InnerTextAsync(string selector, PageInnerTextOptions options = default)671 => MainFrame.InnerTextAsync(selector, new()672 {673 Timeout = options?.Timeout,674 Strict = options?.Strict,675 });676 public Task<string> TextContentAsync(string selector, PageTextContentOptions options = default)677 => MainFrame.TextContentAsync(selector, new()678 {679 Timeout = options?.Timeout,680 Strict = options?.Strict,681 });682 public Task TapAsync(string selector, PageTapOptions options = default)683 => MainFrame.TapAsync(684 selector,685 new()686 {687 Modifiers = options?.Modifiers,688 Position = options?.Position,689 Force = options?.Force,690 NoWaitAfter = options?.NoWaitAfter,691 Timeout = options?.Timeout,...
Frame.cs
Source:Frame.cs
...230 trial: options?.Trial,231 strict: options?.Strict);232 internal Task<int> QueryCountAsync(string selector)233 => _channel.QueryCountAsync(selector);234 public Task<string> ContentAsync() => _channel.ContentAsync();235 public Task FocusAsync(string selector, FrameFocusOptions options = default)236 => _channel.FocusAsync(selector, options?.Timeout, options?.Strict);237 public Task TypeAsync(string selector, string text, FrameTypeOptions options = default)238 => _channel.TypeAsync(239 selector,240 text,241 delay: options?.Delay,242 timeout: options?.Timeout,243 noWaitAfter: options?.NoWaitAfter,244 strict: options?.Strict);245 public Task<string> GetAttributeAsync(string selector, string name, FrameGetAttributeOptions options = default)246 => _channel.GetAttributeAsync(selector, name, options?.Timeout, options?.Strict);247 public Task<string> InnerHTMLAsync(string selector, FrameInnerHTMLOptions options = default)248 => _channel.InnerHTMLAsync(selector, options?.Timeout, options?.Strict);249 public Task<string> InnerTextAsync(string selector, FrameInnerTextOptions options = default)250 => _channel.InnerTextAsync(selector, options?.Timeout, options?.Strict);251 public Task<string> TextContentAsync(string selector, FrameTextContentOptions options = default)252 => _channel.TextContentAsync(selector, options?.Timeout, options?.Strict);253 public Task HoverAsync(string selector, FrameHoverOptions options = default)254 => _channel.HoverAsync(255 selector,256 position: options?.Position,257 modifiers: options?.Modifiers,258 force: options?.Force,259 timeout: options?.Timeout,260 trial: options?.Trial,261 strict: options?.Strict);262 public Task PressAsync(string selector, string key, FramePressOptions options = default)263 => _channel.PressAsync(264 selector,265 key,266 delay: options?.Delay,267 timeout: options?.Timeout,268 noWaitAfter: options?.NoWaitAfter,269 strict: options?.Strict);270 public Task DispatchEventAsync(string selector, string type, object eventInit = default, FrameDispatchEventOptions options = default)271 => _channel.DispatchEventAsync(272 selector,273 type,274 ScriptsHelper.SerializedArgument(eventInit),275 options?.Timeout,276 options?.Strict);277 public Task FillAsync(string selector, string value, FrameFillOptions options = default)278 => _channel.FillAsync(selector, value, force: options?.Force, timeout: options?.Timeout, noWaitAfter: options?.NoWaitAfter, options?.Strict);279 public async Task<IElementHandle> AddScriptTagAsync(FrameAddScriptTagOptions options = default)280 {281 var content = options?.Content;282 if (!string.IsNullOrEmpty(options?.Path))283 {284 content = File.ReadAllText(options.Path);285 content += "//# sourceURL=" + options.Path.Replace("\n", string.Empty);286 }287 return (await _channel.AddScriptTagAsync(options?.Url, options?.Path, content, options?.Type).ConfigureAwait(false)).Object;288 }289 public async Task<IElementHandle> AddStyleTagAsync(FrameAddStyleTagOptions options = default)290 {291 var content = options?.Content;292 if (!string.IsNullOrEmpty(options?.Path))293 {294 content = File.ReadAllText(options.Path);295 content += "//# sourceURL=" + options.Path.Replace("\n", string.Empty);296 }297 return (await _channel.AddStyleTagAsync(options?.Url, options?.Path, content).ConfigureAwait(false)).Object;298 }299 public Task SetInputFilesAsync(string selector, string files, FrameSetInputFilesOptions options = default)300 => SetInputFilesAsync(selector, new[] { files }, options);301 public async Task SetInputFilesAsync(string selector, IEnumerable<string> files, FrameSetInputFilesOptions options = default)302 {303 var converted = await SetInputFilesHelpers.ConvertInputFilesAsync(files, (BrowserContext)Page.Context).ConfigureAwait(false);304 if (converted.Files != null)305 {306 await _channel.SetInputFilesAsync(selector, converted.Files, options?.NoWaitAfter, options?.Timeout, options?.Strict).ConfigureAwait(false);307 }308 else309 {310 await _channel.SetInputFilePathsAsync(selector, converted?.LocalPaths, converted?.Streams, options?.NoWaitAfter, options?.Timeout, options?.Strict).ConfigureAwait(false);311 }312 }313 public Task SetInputFilesAsync(string selector, FilePayload files, FrameSetInputFilesOptions options = default)314 => SetInputFilesAsync(selector, new[] { files }, options);315 public async Task SetInputFilesAsync(string selector, IEnumerable<FilePayload> files, FrameSetInputFilesOptions options = default)316 {317 var converted = SetInputFilesHelpers.ConvertInputFiles(files);318 await _channel.SetInputFilesAsync(selector, converted.Files, noWaitAfter: options?.NoWaitAfter, timeout: options?.Timeout, options?.Strict).ConfigureAwait(false);319 }320 public Task ClickAsync(string selector, FrameClickOptions options = default)321 => _channel.ClickAsync(322 selector,323 delay: options?.Delay,324 button: options?.Button,325 clickCount: options?.ClickCount,326 modifiers: options?.Modifiers,327 position: options?.Position,328 timeout: options?.Timeout,329 force: options?.Force,330 noWaitAfter: options?.NoWaitAfter,331 trial: options?.Trial,332 strict: options?.Strict);333 public Task DblClickAsync(string selector, FrameDblClickOptions options = default)334 => _channel.DblClickAsync(335 selector,336 delay: options?.Delay,337 button: options?.Button,338 position: options?.Position,339 modifiers: options?.Modifiers,340 timeout: options?.Timeout,341 force: options?.Force,342 noWaitAfter: options?.NoWaitAfter,343 trial: options?.Trial,344 strict: options?.Strict);345 public Task CheckAsync(string selector, FrameCheckOptions options = default)346 => _channel.CheckAsync(347 selector,348 position: options?.Position,349 timeout: options?.Timeout,350 force: options?.Force,351 noWaitAfter: options?.NoWaitAfter,352 trial: options?.Trial,353 strict: options?.Strict);354 public Task UncheckAsync(string selector, FrameUncheckOptions options = default)355 => _channel.UncheckAsync(356 selector,357 position: options?.Position,358 timeout: options?.Timeout,359 force: options?.Force,360 noWaitAfter: options?.NoWaitAfter,361 trial: options?.Trial,362 strict: options?.Strict);363 public Task SetCheckedAsync(string selector, bool checkedState, FrameSetCheckedOptions options = null)364 => checkedState ?365 _channel.CheckAsync(366 selector,367 position: options?.Position,368 timeout: options?.Timeout,369 force: options?.Force,370 noWaitAfter: options?.NoWaitAfter,371 trial: options?.Trial,372 strict: options?.Strict)373 : _channel.UncheckAsync(374 selector,375 position: options?.Position,376 timeout: options?.Timeout,377 force: options?.Force,378 noWaitAfter: options?.NoWaitAfter,379 trial: options?.Trial,380 strict: options?.Strict);381 public Task SetContentAsync(string html, FrameSetContentOptions options = default)382 => _channel.SetContentAsync(html, timeout: options?.Timeout, waitUntil: options?.WaitUntil);383 public Task<string> InputValueAsync(string selector, FrameInputValueOptions options = null)384 => _channel.InputValueAsync(selector, options?.Timeout, options?.Strict);385 public async Task<IElementHandle> QuerySelectorAsync(string selector)386 => (await _channel.QuerySelectorAsync(selector).ConfigureAwait(false))?.Object;387 public async Task<IReadOnlyList<IElementHandle>> QuerySelectorAllAsync(string selector)388 => (await _channel.QuerySelectorAllAsync(selector).ConfigureAwait(false)).Select(c => ((ElementHandleChannel)c).Object).ToList().AsReadOnly();389 public async Task<IJSHandle> WaitForFunctionAsync(string expression, object arg = default, FrameWaitForFunctionOptions options = default)390 => (await _channel.WaitForFunctionAsync(391 expression: expression,392 arg: ScriptsHelper.SerializedArgument(arg),393 timeout: options?.Timeout,394 polling: options?.PollingInterval).ConfigureAwait(false)).Object;395 public async Task<IElementHandle> WaitForSelectorAsync(string selector, FrameWaitForSelectorOptions options = default)396 => (await _channel.WaitForSelectorAsync(...
FrameChannel.cs
Source:FrameChannel.cs
...223 };224 var result = await Connection.SendMessageToServerAsync(Guid, "queryCount", args).ConfigureAwait(false);225 return result.Value.GetProperty("value").GetInt32();226 }227 internal Task SetContentAsync(string html, float? timeout, WaitUntilState? waitUntil)228 {229 var args = new Dictionary<string, object>230 {231 ["html"] = html,232 ["waitUntil"] = waitUntil,233 ["timeout"] = timeout,234 };235 return Connection.SendMessageToServerAsync(Guid, "setContent", args);236 }237 internal Task ClickAsync(238 string selector,239 float? delay,240 MouseButton? button,241 int? clickCount,242 IEnumerable<KeyboardModifier> modifiers,243 Position position,244 float? timeout,245 bool? force,246 bool? noWaitAfter,247 bool? trial,248 bool? strict)249 {250 var args = new Dictionary<string, object>251 {252 ["selector"] = selector,253 ["button"] = button,254 ["force"] = force,255 ["delay"] = delay,256 ["clickCount"] = clickCount,257 ["modifiers"] = modifiers?.Select(m => m.ToValueString()),258 ["position"] = position,259 ["noWaitAfter"] = noWaitAfter,260 ["trial"] = trial,261 ["timeout"] = timeout,262 ["strict"] = strict,263 };264 return Connection.SendMessageToServerAsync<ElementHandleChannel>(Guid, "click", args);265 }266 internal Task DblClickAsync(267 string selector,268 float? delay,269 MouseButton? button,270 Position position,271 IEnumerable<KeyboardModifier> modifiers,272 float? timeout,273 bool? force,274 bool? noWaitAfter,275 bool? trial,276 bool? strict)277 {278 var args = new Dictionary<string, object>279 {280 ["selector"] = selector,281 ["button"] = button,282 ["delay"] = delay,283 ["force"] = force,284 ["modifiers"] = modifiers?.Select(m => m.ToValueString()),285 ["position"] = position,286 ["trial"] = trial,287 ["timeout"] = timeout,288 ["noWaitAfter"] = noWaitAfter,289 ["strict"] = strict,290 };291 return Connection.SendMessageToServerAsync<ElementHandleChannel>(Guid, "dblclick", args);292 }293 internal Task<ElementHandleChannel> QuerySelectorAsync(string selector)294 => Connection.SendMessageToServerAsync<ElementHandleChannel>(295 Guid,296 "querySelector",297 new Dictionary<string, object>298 {299 ["selector"] = selector,300 });301 internal Task<ChannelBase[]> QuerySelectorAllAsync(string selector)302 => Connection.SendMessageToServerAsync<ChannelBase[]>(303 Guid,304 "querySelectorAll",305 new Dictionary<string, object>306 {307 ["selector"] = selector,308 });309 internal Task FillAsync(string selector, string value, bool? force, float? timeout, bool? noWaitAfter, bool? strict)310 {311 var args = new Dictionary<string, object>312 {313 ["selector"] = selector,314 ["value"] = value,315 ["force"] = force,316 ["timeout"] = timeout,317 ["noWaitAfter"] = noWaitAfter,318 ["strict"] = strict,319 };320 return Connection.SendMessageToServerAsync(Guid, "fill", args);321 }322 internal Task CheckAsync(string selector, Position position, float? timeout, bool? force, bool? noWaitAfter, bool? trial, bool? strict)323 {324 var args = new Dictionary<string, object>325 {326 ["selector"] = selector,327 ["force"] = force,328 ["position"] = position,329 ["noWaitAfter"] = noWaitAfter,330 ["trial"] = trial,331 ["timeout"] = timeout,332 ["strict"] = strict,333 };334 return Connection.SendMessageToServerAsync<ElementHandleChannel>(Guid, "check", args);335 }336 internal Task UncheckAsync(string selector, Position position, float? timeout, bool? force, bool? noWaitAfter, bool? trial, bool? strict)337 {338 var args = new Dictionary<string, object>339 {340 ["selector"] = selector,341 ["force"] = force,342 ["position"] = position,343 ["noWaitAfter"] = noWaitAfter,344 ["trial"] = trial,345 ["timeout"] = timeout,346 ["strict"] = strict,347 };348 return Connection.SendMessageToServerAsync<ElementHandleChannel>(Guid, "uncheck", args);349 }350 internal Task DispatchEventAsync(string selector, string type, object eventInit, float? timeout, bool? strict)351 {352 var args = new Dictionary<string, object>353 {354 ["selector"] = selector,355 ["type"] = type,356 ["eventInit"] = eventInit,357 ["timeout"] = timeout,358 ["strict"] = strict,359 };360 return Connection.SendMessageToServerAsync(Guid, "dispatchEvent", args);361 }362 internal Task HoverAsync(363 string selector,364 Position position,365 IEnumerable<KeyboardModifier> modifiers,366 bool? force,367 float? timeout,368 bool? trial,369 bool? strict)370 {371 var args = new Dictionary<string, object>372 {373 ["selector"] = selector,374 ["force"] = force,375 ["modifiers"] = modifiers?.Select(m => m.ToValueString()),376 ["position"] = position,377 ["trial"] = trial,378 ["timeout"] = timeout,379 ["strict"] = strict,380 };381 return Connection.SendMessageToServerAsync(Guid, "hover", args);382 }383 internal Task PressAsync(string selector, string text, float? delay, float? timeout, bool? noWaitAfter, bool? strict)384 {385 var args = new Dictionary<string, object>386 {387 ["selector"] = selector,388 ["key"] = text,389 ["delay"] = delay,390 ["timeout"] = timeout,391 ["noWaitAfter"] = noWaitAfter,392 ["strict"] = strict,393 };394 return Connection.SendMessageToServerAsync(Guid, "press", args);395 }396 internal async Task<string[]> SelectOptionAsync(string selector, IEnumerable<SelectOptionValue> values, bool? noWaitAfter, bool? strict, bool? force, float? timeout)397 {398 var args = new Dictionary<string, object>399 {400 ["selector"] = selector,401 ["options"] = values,402 ["noWaitAfter"] = noWaitAfter,403 ["strict"] = strict,404 ["force"] = force,405 ["timeout"] = timeout,406 };407 return (await Connection.SendMessageToServerAsync(Guid, "selectOption", args).ConfigureAwait(false))?.GetProperty("values").ToObject<string[]>();408 }409 internal async Task<string[]> SelectOptionAsync(string selector, IEnumerable<ElementHandle> values, bool? noWaitAfter, bool? strict, bool? force, float? timeout)410 {411 var args = new Dictionary<string, object>412 {413 ["selector"] = selector,414 ["elements"] = values,415 ["noWaitAfter"] = noWaitAfter,416 ["strict"] = strict,417 ["force"] = force,418 ["timeout"] = timeout,419 };420 return (await Connection.SendMessageToServerAsync(Guid, "selectOption", args).ConfigureAwait(false))?.GetProperty("values").ToObject<string[]>();421 }422 internal async Task<string> GetAttributeAsync(string selector, string name, float? timeout, bool? strict)423 {424 var args = new Dictionary<string, object>425 {426 ["selector"] = selector,427 ["name"] = name,428 ["timeout"] = timeout,429 ["strict"] = strict,430 };431 JsonElement retValue = default;432 if ((await Connection.SendMessageToServerAsync(Guid, "getAttribute", args).ConfigureAwait(false))?.TryGetProperty("value", out retValue) ?? false)433 {434 return retValue.ToString();435 }436 return null;437 }438 internal async Task<string> InnerHTMLAsync(string selector, float? timeout, bool? strict)439 {440 var args = new Dictionary<string, object>441 {442 ["selector"] = selector,443 ["timeout"] = timeout,444 ["strict"] = strict,445 };446 return (await Connection.SendMessageToServerAsync(Guid, "innerHTML", args).ConfigureAwait(false))?.GetProperty("value").ToString();447 }448 internal Task TypeAsync(string selector, string text, float? delay, float? timeout, bool? noWaitAfter, bool? strict)449 {450 var args = new Dictionary<string, object>451 {452 ["selector"] = selector,453 ["text"] = text,454 ["delay"] = delay,455 ["noWaitAfter"] = noWaitAfter,456 ["timeout"] = timeout,457 ["strict"] = strict,458 };459 return Connection.SendMessageToServerAsync(Guid, "type", args);460 }461 internal async Task<string> ContentAsync()462 => (await Connection.SendMessageToServerAsync(463 Guid,464 "content",465 null).ConfigureAwait(false))?.GetProperty("value").ToString();466 internal Task FocusAsync(string selector, float? timeout, bool? strict)467 {468 var args = new Dictionary<string, object>469 {470 ["selector"] = selector,471 ["timeout"] = timeout,472 ["strict"] = strict,473 };474 return Connection.SendMessageToServerAsync(Guid, "focus", args);475 }476 internal async Task<string> InnerTextAsync(string selector, float? timeout, bool? strict)477 {478 var args = new Dictionary<string, object>479 {480 ["selector"] = selector,481 ["timeout"] = timeout,482 ["strict"] = strict,483 };484 return (await Connection.SendMessageToServerAsync(Guid, "innerText", args).ConfigureAwait(false))?.GetProperty("value").ToString();485 }486 internal Task SetInputFilesAsync(string selector, IEnumerable<InputFilesList> files, bool? noWaitAfter, float? timeout, bool? strict)487 {488 var args = new Dictionary<string, object>489 {490 ["selector"] = selector,491 ["files"] = files,492 ["noWaitAfter"] = noWaitAfter,493 ["timeout"] = timeout,494 ["strict"] = strict,495 };496 return Connection.SendMessageToServerAsync(Guid, "setInputFiles", args);497 }498 internal Task SetInputFilePathsAsync(string selector, IEnumerable<string> localPaths, IEnumerable<WritableStream> streams, bool? noWaitAfter, float? timeout, bool? strict)499 {500 var args = new Dictionary<string, object>501 {502 ["selector"] = selector,503 ["localPaths"] = localPaths,504 ["streams"] = streams,505 ["timeout"] = timeout,506 ["noWaitAfter"] = noWaitAfter,507 ["strict"] = strict,508 };509 return Connection.SendMessageToServerAsync(Guid, "setInputFilePaths", args);510 }511 internal async Task<string> TextContentAsync(string selector, float? timeout, bool? strict)512 {513 var args = new Dictionary<string, object>514 {515 ["selector"] = selector,516 ["timeout"] = timeout,517 ["strict"] = strict,518 };519 return (await Connection.SendMessageToServerAsync(Guid, "textContent", args).ConfigureAwait(false))?.GetProperty("value").ToString();520 }521 internal Task TapAsync(522 string selector,523 IEnumerable<KeyboardModifier> modifiers,524 Position position,525 float? timeout,...
PlaygroundTests.cs
Source:PlaygroundTests.cs
...281 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions { Headless = true });282 var page = await browser.NewPageAsync();283 await page.GotoAsync("https://play.tailwindcss.com/");284 var iframe = await page.QuerySelectorAsync("iframe");285 var expected = await (await iframe!.ContentFrameAsync())!.ContentAsync();286 var diffs = DiffBuilder287 .Compare(expected)288 .WithTest(actual)289 .Build()290 .ToList();291 diffs.Should().BeEmpty();292 }293 [Test]294 public async Task statiq_web_examples()295 {296 // https://github.com/statiqdev/Statiq.Web297 // cd /examples/Statiq.Web.Examples298 // dotnet run -- preview299 dynamic input = new ExpandoObject();...
ContentAsync
Using AI Code Generation
1var playwright = await Microsoft.Playwright.Playwright.CreateAsync();2var browser = await playwright.Chromium.LaunchAsync();3var context = await browser.NewContextAsync();4var page = await context.NewPageAsync();5var content = await page.FrameAsync().ContentAsync();6Console.WriteLine(content);7await browser.CloseAsync();8var playwright = await Microsoft.Playwright.Playwright.CreateAsync();9var browser = await playwright.Chromium.LaunchAsync();10var context = await browser.NewContextAsync();11var page = await context.NewPageAsync();12var content = await page.ContentAsync();13Console.WriteLine(content);14await browser.CloseAsync();15var playwright = await Microsoft.Playwright.Playwright.CreateAsync();16var browser = await playwright.Chromium.LaunchAsync();17var context = await browser.NewContextAsync();18var page = await context.NewPageAsync();19var content = await page.MainFrame.ContentAsync();20Console.WriteLine(content);21await browser.CloseAsync();22var playwright = await Microsoft.Playwright.Playwright.CreateAsync();23var browser = await playwright.Chromium.LaunchAsync();24var context = await browser.NewContextAsync();25var page = await context.NewPageAsync();26var content = await page.ContentAsync();27Console.WriteLine(content);28await browser.CloseAsync();29var playwright = await Microsoft.Playwright.Playwright.CreateAsync();30var browser = await playwright.Chromium.LaunchAsync();31var context = await browser.NewContextAsync();32var page = await context.NewPageAsync();33var content = await page.ContentAsync();34Console.WriteLine(content);35await browser.CloseAsync();36var playwright = await Microsoft.Playwright.Playwright.CreateAsync();37var browser = await playwright.Chromium.LaunchAsync();
ContentAsync
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4{5 {6 static async Task Main(string[] args)7 {8 using var playwright = await Playwright.CreateAsync();9 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions10 {11 });12 var page = await browser.NewPageAsync();13 await page.ClickAsync("text=Images");14 await page.ClickAsync("text=Videos");15 await page.ClickAsync("text=News");16 await page.ClickAsync("text=Shopping");17 await page.ClickAsync("text=Maps");18 await page.ClickAsync("text=Books");19 await page.ClickAsync("text=Flights");20 await page.ClickAsync("text=Finance");21 await page.ClickAsync("text=More");22 await page.ClickAsync("text=Settings");23 await page.ClickAsync("text=Tools");24 await page.ClickAsync("text=Sign in");25 await page.ClickAsync("input[name=\"q\"]");
ContentAsync
Using AI Code Generation
1using Microsoft.Playwright;2using System.Threading.Tasks;3{4 {5 static async Task Main(string[] args)6 {7 using var playwright = await Playwright.CreateAsync();8 await using var browser = await playwright.Chromium.LaunchAsync();9 var page = await browser.NewPageAsync();10 var content = await page.FrameAsync("iframe").ContentAsync();11 System.Console.WriteLine(content);12 }13 }14}
ContentAsync
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4{5 {6 static async Task Main(string[] args)7 {8 await using var playwright = await Playwright.CreateAsync();9 await using var browser = await playwright.Chromium.LaunchAsync();10 var page = await browser.NewPageAsync();11 var element = await page.QuerySelectorAsync("input[name=q]");12 await element.TypeAsync("Hello World");13 var screenshot = await page.ScreenshotAsync();14 await screenshot.SaveAsAsync("screenshot.png");15 await browser.CloseAsync();16 }17 }18}19using Microsoft.Playwright;20using System;21using System.Threading.Tasks;22{23 {24 static async Task Main(string[] args)25 {26 await using var playwright = await Playwright.CreateAsync();27 await using var browser = await playwright.Chromium.LaunchAsync();28 var page = await browser.NewPageAsync();29 var element = await page.QuerySelectorAsync("input[name=q]");30 await element.TypeAsync("Hello World");31 var screenshot = await page.ScreenshotAsync();32 await screenshot.SaveAsAsync("screenshot.png");33 await browser.CloseAsync();34 }35 }36}37using Microsoft.Playwright;38using System;39using System.Threading.Tasks;40{41 {42 static async Task Main(string[] args)43 {44 await using var playwright = await Playwright.CreateAsync();45 await using var browser = await playwright.Chromium.LaunchAsync();46 var page = await browser.NewPageAsync();47 var element = await page.QuerySelectorAsync("input[name=q]");48 await element.TypeAsync("Hello World");49 var screenshot = await page.ScreenshotAsync();50 await screenshot.SaveAsAsync("screenshot.png");51 await browser.CloseAsync();52 }53 }54}55using Microsoft.Playwright;56using System;
ContentAsync
Using AI Code Generation
1var page = await browser.NewPageAsync();2var element = await page.QuerySelectorAsync("input[name='q']");3await element.TypeAsync("Hello World");4await page.Keyboard.PressAsync("Enter");5await page.WaitForNavigationAsync();6var page = await browser.NewPageAsync();7var element = await page.QuerySelectorAsync("input[name='q']");8await element.TypeAsync("Hello World");9await page.Keyboard.PressAsync("Enter");10await page.WaitForNavigationAsync();11var page = await browser.NewPageAsync();12var element = await page.QuerySelectorAsync("input[name='q']");13await element.TypeAsync("Hello World");14await page.Keyboard.PressAsync("Enter");15await page.WaitForNavigationAsync();16var page = await browser.NewPageAsync();17var element = await page.QuerySelectorAsync("input[name='q']");18await element.TypeAsync("Hello World");19await page.Keyboard.PressAsync("Enter");20await page.WaitForNavigationAsync();21var page = await browser.NewPageAsync();22var element = await page.QuerySelectorAsync("input[name='q']");23await element.TypeAsync("Hello World");24await page.Keyboard.PressAsync("Enter");25await page.WaitForNavigationAsync();26var page = await browser.NewPageAsync();27var element = await page.QuerySelectorAsync("input[name='q']");28await element.TypeAsync("Hello World");29await page.Keyboard.PressAsync("Enter");30await page.WaitForNavigationAsync();31var page = await browser.NewPageAsync();
ContentAsync
Using AI Code Generation
1var page = await browser.NewPageAsync();2var content = await page.MainFrame.ContentAsync();3Console.WriteLine(content);4var page = await browser.NewPageAsync();5var content = await page.MainFrame.ContentAsync();6Console.WriteLine(content);7var page = await browser.NewPageAsync();8var content = await page.ContentAsync();9Console.WriteLine(content);10var page = await browser.NewPageAsync();11var content = await page.MainFrame.ContentAsync();12Console.WriteLine(content);13var page = await browser.NewPageAsync();14var content = await page.MainFrame.ContentAsync();15Console.WriteLine(content);16var page = await browser.NewPageAsync();17var content = await page.ContentAsync();18Console.WriteLine(content);19var page = await browser.NewPageAsync();20var content = await page.MainFrame.ContentAsync();21Console.WriteLine(content);22var page = await browser.NewPageAsync();23var content = await page.MainFrame.ContentAsync();24Console.WriteLine(content);25var page = await browser.NewPageAsync();26var content = await page.ContentAsync();27Console.WriteLine(content);28var page = await browser.NewPageAsync();
ContentAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Playwright;4using static System.Console;5{6 {7 static async Task Main(string[] args)8 {9 await using var playwright = await Playwright.CreateAsync();10 await using var browser = await playwright.Chromium.LaunchAsync(headless: false);11 var page = await browser.NewPageAsync();12 var content = await page.ContentAsync();13 WriteLine(content);14 }15 }16}17using System;18using System.Threading.Tasks;19using Microsoft.Playwright;20using static System.Console;21{22 {23 static async Task Main(string[] args)24 {25 await using var playwright = await Playwright.CreateAsync();26 await using var browser = await playwright.Chromium.LaunchAsync(headless: false);27 var page = await browser.NewPageAsync();28 var content = await page.ContentAsync();29 WriteLine(content);30 }31 }32}33using System;34using System.Threading.Tasks;35using Microsoft.Playwright;36using static System.Console;37{38 {39 static async Task Main(string[] args)40 {41 await using var playwright = await Playwright.CreateAsync();42 await using var browser = await playwright.Chromium.LaunchAsync(headless: false);43 var page = await browser.NewPageAsync();44 var content = await page.ContentAsync();45 WriteLine(content);46 }47 }48}
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!