Best Playwright-dotnet code snippet using Microsoft.Playwright.Core.Locator.ElementHandleAsync
Locator.cs
Source:Locator.cs  
...103        public Task DispatchEventAsync(string type, object eventInit = null, LocatorDispatchEventOptions options = null)104            => _frame.DispatchEventAsync(_selector, type, eventInit, ConvertOptions<FrameDispatchEventOptions>(options));105        public Task DragToAsync(ILocator target, LocatorDragToOptions options = null)106            => _frame.DragAndDropAsync(_selector, ((Locator)target)._selector, ConvertOptions<FrameDragAndDropOptions>(options));107        public async Task<IElementHandle> ElementHandleAsync(LocatorElementHandleOptions options = null)108            => await _frame.WaitForSelectorAsync(109                _selector,110                ConvertOptions<FrameWaitForSelectorOptions>(options)).ConfigureAwait(false);111        public Task<IReadOnlyList<IElementHandle>> ElementHandlesAsync()112            => _frame.QuerySelectorAllAsync(_selector);113        public Task<T> EvaluateAllAsync<T>(string expression, object arg = null)114            => _frame.EvalOnSelectorAllAsync<T>(_selector, expression, arg);115        public Task<JsonElement?> EvaluateAsync(string expression, object arg = null, LocatorEvaluateOptions options = null)116            => EvaluateAsync<JsonElement?>(expression, arg, options);117        public Task<T> EvaluateAsync<T>(string expression, object arg = null, LocatorEvaluateOptions options = null)118            => _frame.EvalOnSelectorAsync<T>(_selector, expression, arg, ConvertOptions<FrameEvalOnSelectorOptions>(options));119        public async Task<IJSHandle> EvaluateHandleAsync(string expression, object arg = null, LocatorEvaluateHandleOptions options = null)120            => await WithElementAsync(async (e, _) => await e.EvaluateHandleAsync(expression, arg).ConfigureAwait(false), options).ConfigureAwait(false);121        public async Task FillAsync(string value, LocatorFillOptions options = null)122            => await _frame.FillAsync(_selector, value, ConvertOptions<FrameFillOptions>(options)).ConfigureAwait(false);123        public Task FocusAsync(LocatorFocusOptions options = null)124            => _frame.FocusAsync(_selector, ConvertOptions<FrameFocusOptions>(options));125        IFrameLocator ILocator.FrameLocator(string selector) =>126            new FrameLocator(_frame, $"{_selector} >> {selector}");127        public Task<string> GetAttributeAsync(string name, LocatorGetAttributeOptions options = null)128            => _frame.GetAttributeAsync(_selector, name, ConvertOptions<FrameGetAttributeOptions>(options));129        public Task HoverAsync(LocatorHoverOptions options = null)130            => _frame.HoverAsync(_selector, ConvertOptions<FrameHoverOptions>(options));131        public Task<string> InnerHTMLAsync(LocatorInnerHTMLOptions options = null)132            => _frame.InnerHTMLAsync(_selector, ConvertOptions<FrameInnerHTMLOptions>(options));133        public Task<string> InnerTextAsync(LocatorInnerTextOptions options = null)134            => _frame.InnerTextAsync(_selector, ConvertOptions<FrameInnerTextOptions>(options));135        public Task<string> InputValueAsync(LocatorInputValueOptions options = null)136            => _frame.InputValueAsync(_selector, ConvertOptions<FrameInputValueOptions>(options));137        public Task<bool> IsCheckedAsync(LocatorIsCheckedOptions options = null)138            => _frame.IsCheckedAsync(_selector, ConvertOptions<FrameIsCheckedOptions>(options));139        public Task<bool> IsDisabledAsync(LocatorIsDisabledOptions options = null)140            => _frame.IsDisabledAsync(_selector, ConvertOptions<FrameIsDisabledOptions>(options));141        public Task<bool> IsEditableAsync(LocatorIsEditableOptions options = null)142            => _frame.IsEditableAsync(_selector, ConvertOptions<FrameIsEditableOptions>(options));143        public Task<bool> IsEnabledAsync(LocatorIsEnabledOptions options = null)144            => _frame.IsEnabledAsync(_selector, ConvertOptions<FrameIsEnabledOptions>(options));145        public Task<bool> IsHiddenAsync(LocatorIsHiddenOptions options = null)146            => _frame.IsHiddenAsync(_selector, ConvertOptions<FrameIsHiddenOptions>(options));147        public Task<bool> IsVisibleAsync(LocatorIsVisibleOptions options = null)148            => _frame.IsVisibleAsync(_selector, ConvertOptions<FrameIsVisibleOptions>(options));149        public ILocator Nth(int index)150            => new Locator(_frame, $"{_selector} >> nth={index}");151        public Task PressAsync(string key, LocatorPressOptions options = null)152            => _frame.PressAsync(_selector, key, ConvertOptions<FramePressOptions>(options));153        public Task<byte[]> ScreenshotAsync(LocatorScreenshotOptions options = null)154            => WithElementAsync(async (h, o) => await h.ScreenshotAsync(ConvertOptions<ElementHandleScreenshotOptions>(o)).ConfigureAwait(false), options);155        public Task ScrollIntoViewIfNeededAsync(LocatorScrollIntoViewIfNeededOptions options = null)156            => WithElementAsync(async (h, o) => await h.ScrollIntoViewIfNeededAsync(ConvertOptions<ElementHandleScrollIntoViewIfNeededOptions>(o)).ConfigureAwait(false), options);157        public Task<IReadOnlyList<string>> SelectOptionAsync(string values, LocatorSelectOptionOptions options = null)158            => _frame.SelectOptionAsync(_selector, values, ConvertOptions<FrameSelectOptionOptions>(options));159        public Task<IReadOnlyList<string>> SelectOptionAsync(IElementHandle values, LocatorSelectOptionOptions options = null)160            => _frame.SelectOptionAsync(_selector, values, ConvertOptions<FrameSelectOptionOptions>(options));161        public Task<IReadOnlyList<string>> SelectOptionAsync(IEnumerable<string> values, LocatorSelectOptionOptions options = null)162            => _frame.SelectOptionAsync(_selector, values, ConvertOptions<FrameSelectOptionOptions>(options));163        public Task<IReadOnlyList<string>> SelectOptionAsync(SelectOptionValue values, LocatorSelectOptionOptions options = null)164            => _frame.SelectOptionAsync(_selector, values, ConvertOptions<FrameSelectOptionOptions>(options));165        public Task<IReadOnlyList<string>> SelectOptionAsync(IEnumerable<IElementHandle> values, LocatorSelectOptionOptions options = null)166            => _frame.SelectOptionAsync(_selector, values, ConvertOptions<FrameSelectOptionOptions>(options));167        public Task<IReadOnlyList<string>> SelectOptionAsync(IEnumerable<SelectOptionValue> values, LocatorSelectOptionOptions options = null)168            => _frame.SelectOptionAsync(_selector, values, ConvertOptions<FrameSelectOptionOptions>(options));169        public Task SelectTextAsync(LocatorSelectTextOptions options = null)170            => WithElementAsync((h, o) => h.SelectTextAsync(ConvertOptions<ElementHandleSelectTextOptions>(o)), options);171        public Task SetInputFilesAsync(string files, LocatorSetInputFilesOptions options = null)172            => _frame.SetInputFilesAsync(_selector, files, ConvertOptions<FrameSetInputFilesOptions>(options));173        public Task SetInputFilesAsync(IEnumerable<string> files, LocatorSetInputFilesOptions options = null)174            => _frame.SetInputFilesAsync(_selector, files, ConvertOptions<FrameSetInputFilesOptions>(options));175        public Task SetInputFilesAsync(FilePayload files, LocatorSetInputFilesOptions options = null)176            => _frame.SetInputFilesAsync(_selector, files, ConvertOptions<FrameSetInputFilesOptions>(options));177        public Task SetInputFilesAsync(IEnumerable<FilePayload> files, LocatorSetInputFilesOptions options = null)178            => _frame.SetInputFilesAsync(_selector, files, ConvertOptions<FrameSetInputFilesOptions>(options));179        public Task TapAsync(LocatorTapOptions options = null)180            => _frame.TapAsync(_selector, ConvertOptions<FrameTapOptions>(options));181        public Task<string> TextContentAsync(LocatorTextContentOptions options = null)182            => _frame.TextContentAsync(_selector, ConvertOptions<FrameTextContentOptions>(options));183        public Task TypeAsync(string text, LocatorTypeOptions options = null)184            => _frame.TypeAsync(_selector, text, ConvertOptions<FrameTypeOptions>(options));185        public Task UncheckAsync(LocatorUncheckOptions options = null)186            => _frame.UncheckAsync(_selector, ConvertOptions<FrameUncheckOptions>(options));187        ILocator ILocator.Locator(string selector, LocatorLocatorOptions options)188            => new Locator(_frame, $"{_selector} >> {selector}", options);189        public Task WaitForAsync(LocatorWaitForOptions options = null)190            => _frame.LocatorWaitForAsync(_selector, ConvertOptions<LocatorWaitForOptions>(options));191        internal Task<FrameExpectResult> ExpectAsync(string expression, FrameExpectOptions options = null)192            => _frame.ExpectAsync(193                _selector,194                expression,195                options);196        public override string ToString() => "Locator@" + _selector;197        private T ConvertOptions<T>(object source)198            where T : class, new()199        {200            T target = new();201            var targetType = target.GetType();202            if (source != null)203            {204                var sourceType = source.GetType();205                foreach (var sourceProperty in sourceType.GetProperties())206                {207                    var targetProperty = targetType.GetProperty(sourceProperty.Name);208                    if (targetProperty != null)209                    {210                        targetProperty.SetValue(target, sourceProperty.GetValue(source));211                    }212                }213            }214            var strictProperty = targetType.GetProperty("Strict");215            if (strictProperty != null && strictProperty.GetValue(target) == null)216            {217                strictProperty.SetValue(target, true);218            }219            return target;220        }221        private async Task<TResult> WithElementAsync<TOptions, TResult>(Func<IElementHandle, TOptions, Task<TResult>> callback, TOptions options)222            where TOptions : class223            where TResult : class224        {225            IElementHandle handle = await ElementHandleAsync(ConvertOptions<LocatorElementHandleOptions>(options)).ConfigureAwait(false);226            try227            {228                return await callback(handle, options).ConfigureAwait(false);229            }230            finally231            {232                await handle.DisposeAsync().ConfigureAwait(false);233            }234        }235        private async Task WithElementAsync<TOptions>(Func<IElementHandle, TOptions, Task> callback, TOptions options)236            where TOptions : class237        {238            IElementHandle handle = await ElementHandleAsync(ConvertOptions<LocatorElementHandleOptions>(options)).ConfigureAwait(false);239            try240            {241                await callback(handle, options).ConfigureAwait(false);242            }243            finally244            {245                await handle.DisposeAsync().ConfigureAwait(false);246            }247        }248        public Task HighlightAsync() => _frame.HighlightAsync(_selector);249    }250}...ElementHandleAsync
Using AI Code Generation
1using Microsoft.Playwright;2using System.Threading.Tasks;3{4    static async Task Main(string[] args)5    {6        using var playwright = await Playwright.CreateAsync();7        await using var browser = await playwright.Chromium.LaunchAsync(new LaunchOptions8        {9        });10        var page = await browser.NewPageAsync();11        var locator = page.Locator("input[type='search']");12        var elementHandle = await locator.ElementHandleAsync();13        await elementHandle.TypeAsync("playwright");14    }15}16using Microsoft.Playwright;17using System.Threading.Tasks;18{19    static async Task Main(string[] args)20    {21        using var playwright = await Playwright.CreateAsync();22        await using var browser = await playwright.Chromium.LaunchAsync(new LaunchOptions23        {24        });25        var page = await browser.NewPageAsync();26        var locator = page.Locator("input[type='search']");27        var elementHandle = await locator.ElementHandleAsync();28        await elementHandle.TypeAsync("playwright");29        var locator2 = page.Locator("input[type='submit']");30        var elementHandle2 = await locator2.ElementHandleAsync();31        await elementHandle2.ClickAsync();32    }33}34using Microsoft.Playwright;35using System.Threading.Tasks;36{37    static async Task Main(string[] args)38    {39        using var playwright = await Playwright.CreateAsync();40        await using var browser = await playwright.Chromium.LaunchAsync(new LaunchOptions41        {42        });43        var page = await browser.NewPageAsync();44        var locator = page.Locator("input[type='search']");45        var elementHandle = await locator.ElementHandleAsync();46        await elementHandle.TypeAsync("playwright");47        var locator2 = page.Locator("input[type='submit']");48        var elementHandle2 = await locator2.ElementHandleAsync();49        await elementHandle2.ClickAsync();50        await page.ScreenshotAsync(new PageScreenshotOptions {ElementHandleAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Playwright;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.FillAsync("input[title='Search']", "playwright");14            await page.PressAsync("input[title='Search']", "Enter");15            await page.WaitForLoadStateAsync(LoadState.Networkidle);16            var element = await page.QuerySelectorAsync("div[class='g']");17            var elementText = await element.TextContentAsync();18            Console.WriteLine(elementText);19        }20    }21}ElementHandleAsync
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.Playwright;7{8    {9        static async Task Main(string[] args)10        {11            using var playwright = await Playwright.CreateAsync();12            await using var browser = await playwright.Chromium.LaunchAsync();13            var page = await browser.NewPageAsync();14            var locator = page.Locator("div");15            var elementHandle = await locator.ElementHandleAsync();16            await elementHandle.ScreenshotAsync("element.png");17        }18    }19}ElementHandleAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Playwright;4using Microsoft.Playwright.Core;5{6    {7        static async Task Main(string[] args)8        {9            using var playwright = await Playwright.CreateAsync();10            await using var browser = await playwright.Chromium.LaunchAsync();11            var page = await browser.NewPageAsync();12            var locator = page.Locator("input");13            var elementHandle = await locator.ElementHandleAsync();14            await elementHandle.FocusAsync();15            await elementHandle.TypeAsync("Hello World!");16            await page.ScreenshotAsync("screenshot.png");17        }18    }19}20using System;21using System.Threading.Tasks;22using Microsoft.Playwright;23using Microsoft.Playwright.Core;24{25    {26        static async Task Main(string[] args)27        {28            using var playwright = await Playwright.CreateAsync();29            await using var browser = await playwright.Chromium.LaunchAsync();30            var page = await browser.NewPageAsync();31            var locator = page.Locator("input");32            var elementHandles = await locator.ElementHandlesAsync();33            foreach (var elementHandle in elementHandles)34            {35                await elementHandle.FocusAsync();36                await elementHandle.TypeAsync("Hello World!");37            }38            await page.ScreenshotAsync("screenshot.png");39        }40    }41}42using System;43using System.Threading.Tasks;44using Microsoft.Playwright;45using Microsoft.Playwright.Core;46{47    {48        static async Task Main(string[] args)49        {50            using var playwright = await Playwright.CreateAsync();51            await using var browser = await playwright.Chromium.LaunchAsync();52            var page = await browser.NewPageAsync();53            var locator = page.Locator("input");54            await locator.FillAsync("Hello World!");55            await page.ScreenshotAsync("screenshot.png");56        }57    }58}ElementHandleAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Playwright;4using Microsoft.Playwright.Core;5using Microsoft.Playwright.Helpers;6{7    {8        static async Task Main(string[] args)9        {10            using var playwright = await Playwright.CreateAsync();11            using var browser = await playwright.Chromium.LaunchAsync();12            using var context = await browser.NewContextAsync();13            using var page = await context.NewPageAsync();14            await page.LocatorAsync("input[name='q']").ElementHandleAsync();15        }16    }17}18using System;19using System.Threading.Tasks;20using Microsoft.Playwright;21using Microsoft.Playwright.Core;22using Microsoft.Playwright.Helpers;23{24    {25        static async Task Main(string[] args)26        {27            using var playwright = await Playwright.CreateAsync();28            using var browser = await playwright.Chromium.LaunchAsync();29            using var context = await browser.NewContextAsync();30            using var page = await context.NewPageAsync();31            await page.LocatorAsync("input[name='q']").ElementHandleAsync();32        }33    }34}35using System;36using System.Threading.Tasks;37using Microsoft.Playwright;38using Microsoft.Playwright.Core;39using Microsoft.Playwright.Helpers;40{41    {42        static async Task Main(string[] args)43        {44            using var playwright = await Playwright.CreateAsync();45            using var browser = await playwright.Chromium.LaunchAsync();46            using var context = await browser.NewContextAsync();47            using var page = await context.NewPageAsync();ElementHandleAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Playwright;4using Microsoft.Playwright.Core;5using Microsoft.Playwright.Transport.Channels;6using Microsoft.Playwright.Transport.Protocol;7using Microsoft.Playwright.Transport;8using Microsoft.Playwright.Helpers;9{10    {11        static async Task Main(string[] args)12        {13            using var playwright = await Playwright.CreateAsync();14            await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions15            {16            });17            var context = await browser.NewContextAsync();18            var page = await context.NewPageAsync();19            var element = await page.QuerySelectorAsync("a[onclick='login()']");20            await element.ClickAsync();21            var element1 = await page.QuerySelectorAsync("input[name='username']");22            await element1.TypeAsync("user");23            var element2 = await page.QuerySelectorAsync("input[name='password']");24            await element2.TypeAsync("user");25            var element3 = await page.QuerySelectorAsync("button[type='submit']");26            await element3.ClickAsync();27            var element4 = await page.QuerySelectorAsync("a[onclick='logout()']");28            await element4.ClickAsync();29            await browser.CloseAsync();30        }31    }32}33How to use ElementHandleAsync() method of Microsoft.Playwright.Core.Locator class in C#?34How to use WaitForElementStateAsync() method of Microsoft.Playwright.Core.Locator class in C#?35How to use WaitForSelectorAsync() method of Microsoft.Playwright.Core.Locator class in C#?36How to use WaitForXPathAsync() method of Microsoft.Playwright.Core.Locator class in C#?37How to use WaitForFunctionAsync() method of Microsoft.Playwright.Core.Locator class in C#?38How to use WaitForLoadStateAsync() method of Microsoft.PlayLambdaTest’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!!
