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!!
