Best Puppeteer-sharp code snippet using PuppeteerSharp.ElementHandle.QuerySelectorAllAsync
VkBrwUserFactory.cs
Source:VkBrwUserFactory.cs  
...49        {50            List<VkBrwCommunity> nwPages = new List<VkBrwCommunity>();51            await userPage.GoToAsync(user.ProfileLink);52            ElementHandle userIsLoaded = await userPage.WaitForSelectorAsync("#page_info_wrap.page_info_wrap");53            ElementHandle[] hiddenProfileBlock = await userPage.QuerySelectorAllAsync("h5.profile_deleted_text");54            if (hiddenProfileBlock.Length == 0)55            {56                ElementHandle idolsLoaded = await userPage.WaitForSelectorAsync("#profile_idols");57                // ÐнÑеÑеÑнÑе ÑÑÑаниÑÑ58                ElementHandle[] noteworthyPagesBlock = await userPage.QuerySelectorAllAsync("#profile_idols.module.clear.page_list_module._module");59                if (noteworthyPagesBlock.Length == 1)60                {61                    ElementHandle noteworthyPages = noteworthyPagesBlock.First();62                    ElementHandle[] noteworthyPagesHeaderBlock = await noteworthyPages.QuerySelectorAllAsync("a.module_header");63                    if (noteworthyPagesHeaderBlock.Length == 1)64                    {65                        ClickOptions clickOptions = new ClickOptions { Delay = new Random().Next(30, 100) };66                        ElementHandle noteworthyPagesLinkElement = noteworthyPagesHeaderBlock.First();67                        await noteworthyPagesLinkElement.ClickAsync(clickOptions);68                        ElementHandle noteworthyPagesIsOpened = await userPage.WaitForSelectorAsync("#fans_rowsidols.fans_rows.fans_idols");69                        ElementHandle[] closeBlock = await userPage.QuerySelectorAllAsync("div.box_x_button");70                        if (closeBlock.Length == 1)71                        {72                            ElementHandle[] pagesCountBlock = await userPage.QuerySelectorAllAsync("span.ui_box_header_cnt");73                            if (pagesCountBlock.Length == 1)74                            {75                                ElementHandle pagesTotalCountElement = pagesCountBlock.First();76                                string pagesTotalCountValue = await pagesTotalCountElement.EvaluateFunctionAsync<string>("('span', span => span.innerText)");77                                if (!string.IsNullOrEmpty(pagesTotalCountValue))78                                {79                                    bool pagesTotalCountReceived = int.TryParse(pagesTotalCountValue, out int pagesTotalCount);80                                    if (pagesTotalCountReceived && pagesTotalCount > 0)81                                    {82                                        ElementHandle[] pagesVisibleElements = await userPage.QuerySelectorAllAsync("div.fans_idol_row.inl_bl");83                                        if (pagesVisibleElements.Length < pagesTotalCount)84                                        {85                                            PressOptions pressOptions = new PressOptions { Delay = new Random().Next(20, 40)};86                                            await userPage.FocusAsync("input");87                                            await userPage.Keyboard.PressAsync("Tab", pressOptions);88                                            int visiblePagesCounter = pagesVisibleElements.Length;89                                            while (visiblePagesCounter < pagesTotalCount)90                                            {91                                                await userPage.Keyboard.PressAsync("PageDown", pressOptions);92                                                await Task.Delay(new Random().Next(250, 350));93                                                await userPage.Keyboard.PressAsync("PageDown", pressOptions);94                                                await Task.Delay(new Random().Next(250, 350));95                                                await userPage.Keyboard.PressAsync("PageDown", pressOptions);96                                                await Task.Delay(new Random().Next(250, 350));97                                                await userPage.Keyboard.PressAsync("PageDown", pressOptions);98                                                await Task.Delay(new Random().Next(250, 350));99                                                ElementHandle[] newPagesVisibleElements = await userPage.QuerySelectorAllAsync("div.fans_idol_row.inl_bl");100                                                if (newPagesVisibleElements.Length == visiblePagesCounter)101                                                {102                                                    break;103                                                }104                                                visiblePagesCounter = newPagesVisibleElements.Length;105                                            }106                                        }107                                        ElementHandle[] nwPagesElements = await userPage.QuerySelectorAllAsync("div.fans_idol_info");108                                        foreach (var element in nwPagesElements)109                                        {110                                            VkBrwCommunity community = await GetCommunityAsync(element, userContext);111                                            if (community != null)112                                            {113                                                nwPages.Add(community);114                                                community.Users.Add(user);115                                            }116                                        }117                                    }118                                }119                            }120                            ElementHandle closeButtonElement = closeBlock.First();121                            await closeButtonElement.ClickAsync(clickOptions);122                        }123                    }124                }125            }126            else127            {128                user.HiddenProfile = true;129                ElementHandle[] pageNameElements = await userPage.QuerySelectorAllAsync("h2.page_name");130                if (pageNameElements.Length == 1)131                {132                    var pageElement = pageNameElements.First();133                    user.PageName = await pageElement.EvaluateFunctionAsync<string>("('h2', h2 => h2.innerText)");134                }135            }136            return nwPages;137        }138        private async Task<VkBrwCommunity> GetCommunityAsync(ElementHandle communityElement, BrowserContext userContext)139        {140            ElementHandle communityNameElement = await communityElement.QuerySelectorAsync("div.fans_idol_name");141            if (communityNameElement != null)142            {143                VkBrwCommunity nwPage = new VkBrwCommunity();...ClickerBot.cs
Source:ClickerBot.cs  
...102        {103            var timeout = 1000;104            await frame.WaitForTimeoutAsync(timeout);105            await UpdateWrongQuizAnswers(frame);106            var highImportanceButtons = await frame.QuerySelectorAllAsync(".question-example-overlay:not([hidden='hidden']) .example-buttons .button:not(.is-disabled)");107            foreach (var buttonHandle in highImportanceButtons)108            {109                var boundingBox = await buttonHandle.BoundingBoxAsync();110                var isVisible = boundingBox != null && boundingBox.Width > 0 && boundingBox.Height > 0;111                if (!isVisible)112                    continue;113                var buttonText = await frame.GetInnerText(buttonHandle);114                var isCandidate = new[] { "schlieÃen" }.Any(x => buttonText.ToLower().Contains(x));115                if (isCandidate)116                    return buttonHandle;117            }118            var decisionTextHandle = await frame.QuerySelectorAllAsync(".decision-wrapper .text-column");119            if (decisionTextHandle.Any())120            {121                var decisionText = await frame.EvaluateFunctionAsync<string>("el => el.innerText", decisionTextHandle.First());122                var decisionHash = decisionText.GetHashCode();123                var choices = await frame.QuerySelectorAllAsync(".content-region .decision-choices li.choice button:not(.is-disabled)");124                Question decision = null;125                if (_decisions.Questions.All(x => x.Hash != decisionHash))126                {127                    decision = new Question { Hash = decisionHash };128                    foreach (var elementHandle in choices)129                    {130                        var choiceText = await frame.GetInnerText(elementHandle);131                        decision.Answers.Add(new Answer { Result = null, Text = choiceText });132                    }133                    _decisions.Questions.Add(decision);134                }135                else136                    decision = _decisions.Questions.Single(x => x.Hash == decisionHash);137                var bestAnswer = decision.GetBestAnswer();138                if (bestAnswer != null)139                {140                    foreach (var elementHandle in choices)141                    {142                        var boundingBox = await elementHandle.BoundingBoxAsync();143                        var isVisible = boundingBox != null && boundingBox.Width > 0 && boundingBox.Height > 0;144                        if (!isVisible)145                            continue;146                        var choiceText = await frame.EvaluateFunctionAsync<string>("e => e.innerText", elementHandle);147                        if (choiceText == bestAnswer)148                            return elementHandle;149                    }150                }151            }152            var quizChoices = await frame.QuerySelectorAllAsync(".content-region .question-choices li.choice button:not(.is-disabled)");153            if (quizChoices.Any())154            {155                var contentHash = await GetQuizHash(frame);156                var bestAnswer = _quiz.Questions.Single(x => x.Hash == contentHash).GetBestAnswer();157                if (bestAnswer != null)158                {159                    foreach (var elementHandle in quizChoices)160                    {161                        var boundingBox = await elementHandle.BoundingBoxAsync();162                        var isVisible = boundingBox != null && boundingBox.Width > 0 && boundingBox.Height > 0;163                        if (!isVisible)164                            continue;165                        var choiceText = await frame.GetInnerText(elementHandle);166                        if (choiceText == bestAnswer)167                            return elementHandle;168                    }169                }170            }171            var regularButtons = await frame.QuerySelectorAllAsync(".content-region button.action:not(.is-disabled)");172            var exampleButtons = await frame.QuerySelectorAllAsync(".example-button-container .button:not(.is-disabled)");173            var buttonHandles = regularButtons.Concat(exampleButtons).Concat(highImportanceButtons);174            foreach (var buttonHandle in buttonHandles)175            {176                var boundingBox = await buttonHandle.BoundingBoxAsync();177                var isVisible = boundingBox != null && boundingBox.Width > 0 && boundingBox.Height > 0;178                if (!isVisible)179                    continue;180                var buttonText = await frame.GetInnerText(buttonHandle);181                var isCandidate = new[] { "beginnen", "weiter", "mehr", "anzeigen", "schlieÃen", "wiederholen" }.Any(x => buttonText.ToLower().Contains(x));182                if (isCandidate)183                    return buttonHandle;184            }185            var currentCalloutHandles = await frame.QuerySelectorAllAsync(".callout-trigger.is-current");186            if (!currentCalloutHandles.Any())187            {188                var calloutHandles = await frame.QuerySelectorAllAsync(".callout-trigger.is-unlocked:not(.is-current)");189                if (calloutHandles.Any())190                    return calloutHandles.First();191            }192            else193            {194                var next = await frame.QuerySelectorAllAsync(".callout-navigation.next a");195                if (next.Any())196                {197                    var boundingBox = await next.First().BoundingBoxAsync();198                    var isVisible = boundingBox != null && boundingBox.Width > 0 && boundingBox.Height > 0;199                    if (isVisible)200                        return next.First();201                }202            }203            var bannerHandles = await frame.QuerySelectorAllAsync(".banner-wrapper.is-unlocked");204            if (bannerHandles.Any())205                return bannerHandles.First();206            var explorerHandles = await frame.QuerySelectorAllAsync(".explorer-trigger.is-unlocked:not(.is-completed)");207            if (explorerHandles.Any())208                return explorerHandles.First();209            var flashCardHandles = await frame.QuerySelectorAllAsync(".content-region article.flash-card:not(.flash-card-flipped) .flash-card-side");210            if (flashCardHandles.Any())211                return flashCardHandles.First();212            return null;213        }214        private async Task<int> GetQuizHash(Frame frame)215        {216            var heading = await frame.TryGetTextContent(".content-heading") ?? "";217            var content = await frame.TryGetTextContent(".content_card") ?? "";218            return (heading + content).GetHashCode();219        }220        private async Task UpdateWrongQuizAnswers(Frame frame)221        {222            var quizChoices = await frame.QuerySelectorAllAsync(".content-region .question-choices li.choice button");223            if (quizChoices.Length > 0)224            {225                var contentHash = await GetQuizHash(frame);226                if (_quiz.Questions.All(x => x.Hash != contentHash))227                {228                    var question = new Question() { Hash = contentHash };229                    foreach (var elementHandle in quizChoices)230                    {231                        var choiceText = await frame.GetInnerText(elementHandle);232                        question.Answers.Add(new Answer { Result = null, Text = choiceText });233                    }234                    235                    _quiz.Questions.Add(question);236                    //seems to be a new quiz, abort for now....Program.cs
Source:Program.cs  
...83            while (storiesPage.QuerySelectorAsync("[data-test=\"stories-player-continue\"]") != null) {84                ElementHandle continueButton = await storiesPage.WaitForSelectorAsync("[data-test=\"stories-player-continue\"]");85                await continueButton.ClickAsync();86                if (await storiesPage.QuerySelectorAsync("[data-test=\"stories-choice\"]") != null) {87                    ElementHandle[] choices = await storiesPage.QuerySelectorAllAsync("[data-test=\"stories-choice\"]");88                    foreach (ElementHandle element in choices) {89                        await element.ClickAsync();90                    } 91                } else if (await storiesPage.QuerySelectorAsync("[data-test=\"challenge-tap-token\"]") != null) {92                    ElementHandle[] choices = await storiesPage.QuerySelectorAllAsync("[data-test=\"challenge-tap-token\"]");93                    if (choices.Length < 5) {94                        foreach (ElementHandle element in choices) {95                            await element.ClickAsync();96                        } 97                    } else {98                        ElementHandle[] tokens = await storiesPage.QuerySelectorAllAsync("[data-test=\"challenge-tap-token\"]");99                        Random rng = new Random();100                        ElementHandle[] disabledTokens = await storiesPage.QuerySelectorAllAsync("[aria-disabled=\"true\"]");101                        while (await storiesPage.QuerySelectorAsync("span._3Y29z._176_d._2jNpf") == null || await storiesPage.QuerySelectorAsync("h2._1qFda") != null) {102                            103                            rng.Shuffle<ElementHandle>(tokens);104                            foreach (ElementHandle element in tokens) {105                                disabledTokens = await storiesPage.QuerySelectorAllAsync("[aria-disabled=\"true\"]");106                                foreach (ElementHandle disabledToken in disabledTokens) {107                                    int index = Array.IndexOf(tokens, disabledToken);108                                    tokens.Where(val => val != disabledToken).ToArray();109                                }110                                await element.ClickAsync();111                                Console.Write("\rTook {0} attempt(s) to complete matching tokens.", attempts);   112                                attempts++;                            113                            }114                        }115                        return;116                    }117                } 118            }            119        }120        static async Task ExitStory(Page page) {121            while (await page.QuerySelectorAsync("[data-test=\"stories-player-done\"]") == null) {122                await page.ClickAsync("[data-test=\"stories-player-continue\"]");123            }124            ElementHandle completeButton = await page.WaitForSelectorAsync("[data-test=\"stories-player-done\"]");125            await page.ClickAsync("[data-test=\"stories-player-done\"]");126            await page.WaitForSelectorAsync("div._3wEt9");127        }128        static async Task<IEnumerable<String>> GetStoryList() {129            IEnumerable<String> storyUrls = new string[] {};130            Page page = await browser.NewPageAsync();131            await page.GoToAsync("https://www.duolingo.com/stories", new NavigationOptions {Timeout = 0});132            Thread.Sleep(TimeSpan.FromSeconds(2));133            ElementHandle[] storyIcons = await page.QuerySelectorAllAsync("div.X4jDx");134            foreach (ElementHandle element in storyIcons) {135                await element.ClickAsync();136                ElementHandle startButton = await page.QuerySelectorAsync("[data-test=\"story-start-button\"]");137                if (startButton != null) {138                        JSHandle buttonHref = await startButton.GetPropertyAsync("href");139                    object hrefJSON = await buttonHref.JsonValueAsync();140                    storyUrls = storyUrls.Append<String>(hrefJSON.ToString());141                    Console.WriteLine("Appended {0} to list of stories.", await buttonHref.JsonValueAsync());142                } else {143                    Console.WriteLine("Skipped a story because it was locked.");144                }145            }146            // await page.CloseAsync();147            return storyUrls;...TravelerPictureBook.cs
Source:TravelerPictureBook.cs  
...26                    Thread.Sleep(30000); /* wait animation */27                    28                    await PptrUtils.WaitAndClick("div.main-button.main-button__left", PptrUtils.LongSelectorAwaiter);29                    Thread.Sleep(3000);30                    ElementHandle[] dayDivs = (await _page.QuerySelectorAllAsync("div"))31                        .Where(div => div.EvaluateFunctionAsync<string>("e => e.className").Result.Contains("day-list-item"))32                        .ToArray();33                    foreach (ElementHandle dayDiv in dayDivs)34                    {35                        await dayDiv.ClickAsync();36                        Thread.Sleep(1000);37                        38                        ElementHandle[] getDivs = (await _page.QuerySelectorAllAsync("div"))39                            .Where(div => div.EvaluateFunctionAsync<string>("e => e.innerHTML").Result == "ÐолÑÑиÑÑ")40                            .ToArray();41                        42                        foreach (ElementHandle getDiv in getDivs)43                        {44                            await getDiv.ClickAsync();45                            Thread.Sleep(1000);46                        }47                    }48                    49                    _page.QuerySelectorAsync("div[class^='components-topNav-assets-__topNav_---close-btn---']").Result50                         .ClickAsync().GetAwaiter().GetResult();51                    Thread.Sleep(3000);52                    53                    await PptrUtils.WaitAndClick("div.main-button.main-button__right", PptrUtils.LongSelectorAwaiter);54                    Thread.Sleep(3000);55                    56                    (await _page.QuerySelectorAllAsync("div"))57                        .FirstOrDefault(div => div.EvaluateFunctionAsync<string>("e => e.innerHTML").Result == "ÐÑмена")58                        ?.ClickAsync().GetAwaiter().GetResult();59                    Thread.Sleep(1000);60                    61                    await PptrUtils.WaitAndClick("div.button-spot__progress", PptrUtils.LongSelectorAwaiter);62                    Thread.Sleep(3000);63                    ElementHandle[] awardIcons = await _page.QuerySelectorAllAsync("div[class^='components-award-assets-__award_---icon---'");64                    foreach (ElementHandle awardIcon in awardIcons)65                    {66                        await awardIcon.ClickAsync();67                        Thread.Sleep(1000);68                        69                        //grab award70                        (await _page.QuerySelectorAllAsync("div"))71                            .FirstOrDefault(div => div.EvaluateFunctionAsync<string>("e => e.innerHTML").Result == "ÐолÑÑиÑÑ")72                            ?.ClickAsync().GetAwaiter().GetResult();73                        Thread.Sleep(1000);74                        await PptrUtils.ClickIfExists("div[class^='components-result-assets-__result_---click-close---'");75                    }76                    77                    Console.WriteLine("debug");78                }79                catch (Exception e)80                {81                    Console.WriteLine(e);82                }83                finally84                {...ParserService.cs
Source:ParserService.cs  
...62            await _page.GoToAsync("https://pda.104.com.tw/my104/mate/list?itemNo=x2&u=qj9dzg");63        }64        public async Task<IEnumerable<JobElement>> GetJobElementAsync()65        {66            var element = await _page.QuerySelectorAllAsync(".joblist_cont .jobname_1");67            var jobElements = new List<JobElement>();68            foreach (var elementHandle in element)69            {70                jobElements.Add(new JobElement()71                {72                    innerText = (await elementHandle.GetPropertyAsync(nameof(JobElement.innerText))).RemoteObject.Value.ToString(),73                    innerHTML = (await (await elementHandle.GetPropertyAsync("firstElementChild")).GetPropertyAsync("href")).RemoteObject.Value.ToString(),74                });75            }76            return jobElements;77        }78        public async Task<IEnumerable<CompanyElement>> GetCompanyElementAsync()79        {80            var element = await _page.QuerySelectorAllAsync(".joblist_cont .compname_1");81            var jobElements = new List<CompanyElement>();82            foreach (var elementHandle in element)83            {84                jobElements.Add(new CompanyElement()85                {86                    innerText = (await elementHandle.GetPropertyAsync(nameof(CompanyElement.innerText))).RemoteObject.Value.ToString(),87                });88            }89            return jobElements;90        }91        public async Task<IEnumerable<AreaElement>> GetAreaElementAsync()92        {93            var element = await _page.QuerySelectorAllAsync(".joblist_cont .area");94            var jobElements = new List<AreaElement>();95            foreach (var elementHandle in element)96            {97                jobElements.Add(new AreaElement()98                {99                    innerText = (await elementHandle.GetPropertyAsync(nameof(AreaElement.innerText))).RemoteObject.Value.ToString(),100                });101            }102            return jobElements;103        }104    }105}...ElementHandleExtensions.cs
Source:ElementHandleExtensions.cs  
...17        /// <typeparam name="T">The type of <see cref="ElementObject" /></typeparam>18        /// <param name="elementHandle">A <see cref="ElementHandle" /></param>19        /// <param name="selector">A selector to query element for</param>20        /// <returns>Task which resolves to the <see cref="ElementObject" /> array</returns>21        /// <seealso cref="ElementHandle.QuerySelectorAllAsync(string)"/>22        public static async Task<T[]> QuerySelectorAllAsync<T>(this ElementHandle elementHandle, string selector) where T : ElementObject23        {24            var results = await elementHandle.GuardFromNull().QuerySelectorAllAsync(selector).ConfigureAwait(false);25            return results.Select(x => ProxyFactory.ElementObject<T>(x.GetPage(), x)).ToArray();26        }27        /// <summary>28        /// Runs <c>element.querySelector</c> within the element and returns an <see cref="ElementObject" />.29        /// If no elements match the selector, the return value resolve to <c>null</c>.30        /// </summary>31        /// <typeparam name="T">The type of <see cref="ElementObject" /></typeparam>32        /// <param name="elementHandle">A <see cref="ElementHandle" /></param>33        /// <param name="selector">A selector to query element for</param>34        /// <returns>Task which resolves to the <see cref="ElementObject" /></returns>35        /// <seealso cref="ElementHandle.QuerySelectorAsync(string)"/>36        public static async Task<T> QuerySelectorAsync<T>(this ElementHandle elementHandle, string selector) where T : ElementObject37        {38            var result = await elementHandle.GuardFromNull().QuerySelectorAsync(selector).ConfigureAwait(false);...TinEyeEngine.cs
Source:TinEyeEngine.cs  
...36		await using Page page = await browser.NewPageAsync();37		await page.GoToAsync(BaseUrl + sd.UploadUri);38		await page.WaitForNavigationAsync();39		var rd = page.Url;40		var resultElems = await page.QuerySelectorAllAsync("div[class='match']");41		var img = new List<ImageResult>();42		var firstSpan = await (await resultElems[0].QuerySelectorAsync("span"))43			                .GetPropertyAsync("textContent");44		if (firstSpan.ToValueString().Contains("sponsored", StringComparison.InvariantCultureIgnoreCase)) {45			resultElems = resultElems.Skip(1).ToArray();46		}47		foreach (ElementHandle elem in resultElems) {48			var ir = new ImageResult(r) { };49			var p  = await elem.QuerySelectorAllAsync("p");50			var h4 = await elem.QuerySelectorAsync("h4");51			var name = await h4.GetPropertyAsync("textContent");52			ir.Name = name.ToValueString();53			foreach (ElementHandle t1 in p) {54				var a = await t1.QuerySelectorAllAsync("a");55				var uri = new List<Uri>();56				// a=a.Distinct().ToArray();57				foreach (ElementHandle t in a) {58					var href = await t.GetPropertyAsync("href");59					string s = href.ToValueString();60					if (!string.IsNullOrWhiteSpace(s)) {61						var item = new Uri(s);62						// item = item.Normalize();63						if (!uri.Contains(item)) {64							uri.Add(item);65						}66					}67				}68				ir.OtherUrl.AddRange(uri);69				var imgElems = await t1.QuerySelectorAllAsync("img");70				var imgList  = new List<Uri>();71				for (int k = 0; k < imgElems.Length; k++) {72					var src = await a[k].GetPropertyAsync("src");73					imgList.Add(new Uri(src.ToValueString()));74				}75				ir.OtherUrl.AddRange(imgList);76				ir.Url = ir.OtherUrl.FirstOrDefault();77			}78			img.Add(ir);79		}80		browser.Dispose();81		return img;82	}83	protected override SearchResult Process(object obj, SearchResult sr)...ElementHandle.cs
Source:ElementHandle.cs  
2namespace PuppeteerSharp3{4    /// <summary>5    /// Inherits from <see cref="JSHandle"/>. It represents an in-page DOM element. 6    /// ElementHandles can be created by <see cref="PuppeteerSharp.Page.QuerySelectorAsync(string)"/> or <see cref="PuppeteerSharp.Page.QuerySelectorAllAsync(string)"/>.7    /// </summary>8    public class ElementHandle : JSHandle9    {10        internal ElementHandle(11            ExecutionContext context,12            CDPSession client,13            RemoteObject remoteObject)14            : base(context, client, remoteObject) { }15    }16}...QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using PuppeteerSharp;7{8    {9        static void Main(string[] args)10        {11            MainAsync().Wait();12        }13        static async Task MainAsync()14        {15            var browser = await Puppeteer.LaunchAsync(new LaunchOptions16            {17                ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"18            });19            var page = await browser.NewPageAsync();20            var elementHandle = await page.QuerySelectorAsync("input[name='q']");21            var elementsHandle = await page.QuerySelectorAllAsync("div");22            Console.WriteLine("Press any key to close the browser");23            Console.ReadKey();24            await browser.CloseAsync();25        }26    }27}28using System;29using System.Collections.Generic;30using System.Linq;31using System.Text;32using System.Threading.Tasks;33using PuppeteerSharp;34{35    {36        static void Main(string[] args)37        {38            MainAsync().Wait();39        }40        static async Task MainAsync()41        {42            var browser = await Puppeteer.LaunchAsync(new LaunchOptions43            {44                ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"45            });46            var page = await browser.NewPageAsync();47            var elementHandle = await page.QuerySelectorAsync("input[name='q']");48            var elementsHandle = await page.QuerySelectorAllAsync("div");49            var elements = await elementsHandle.ToListAsync();50            Console.WriteLine("Press any key to close the browser");51            Console.ReadKey();52            await browser.CloseAsync();53        }54    }55}56using System;QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);9            using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = false }))10            {11                var page = await browser.NewPageAsync();12                var result = await page.QuerySelectorAllAsync("a");13                Console.WriteLine("Number of links: " + result.Length);QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);9            using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = false }))10            using (var page = await browser.NewPageAsync())11            {12                var element = await page.QuerySelectorAsync("input");13                var elements = await element.QuerySelectorAllAsync("input");14                foreach (var item in elements)15                {16                    Console.WriteLine(item);17                }QuerySelectorAllAsync
Using AI Code Generation
1var elements = await page.QuerySelectorAllAsync("div");2foreach (var element in elements)3{4    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");5    Console.WriteLine(text);6}7var elements = await page.QuerySelectorAllAsync("div");8foreach (var element in elements)9{10    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");11    Console.WriteLine(text);12}13var elements = await page.QuerySelectorAllAsync("div");14foreach (var element in elements)15{16    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");17    Console.WriteLine(text);18}19var elements = await page.QuerySelectorAllAsync("div");20foreach (var element in elements)21{22    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");23    Console.WriteLine(text);24}25var elements = await page.QuerySelectorAllAsync("div");26foreach (var element in elements)27{28    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");29    Console.WriteLine(text);30}31var elements = await page.QuerySelectorAllAsync("div");32foreach (var element in elements)33{34    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");35    Console.WriteLine(text);36}37var elements = await page.QuerySelectorAllAsync("div");38foreach (var element in elements)39{40    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");41    Console.WriteLine(text);42}43var elements = await page.QuerySelectorAllAsync("div");44foreach (var element in elements)45{46    var text = await element.EvaluateFunctionAsync<string>("element => element.textContent");47    Console.WriteLine(text);48}QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Linq;3using System.Threading.Tasks;4using PuppeteerSharp;5{6    {7        static async Task Main(string[] args)8        {9            var browser = await Puppeteer.LaunchAsync(new LaunchOptions10            {11            });12            var page = await browser.NewPageAsync();13            var links = await page.QuerySelectorAllAsync("a");14            Console.WriteLine("Total links are: {0}", links.Count());15            foreach (var link in links)16            {17                string linkHref = await link.EvaluateFunctionAsync<string>("(el) => el.href", link);18                Console.WriteLine(linkHref);19            }20            Console.ReadLine();21        }22    }23}QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);9            using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = false }))10            using (var page = await browser.NewPageAsync())11            {12                var elements = await page.QuerySelectorAllAsync("a");13                foreach (var element in elements)14                {15                    Console.WriteLine(await element.GetPropertyAsync("href"));16                }17            }18        }19    }20}QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);9            using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = false }))10            using (var page = await browser.NewPageAsync())11            {12                var elements = await page.QuerySelectorAllAsync("a");13                foreach (var element in elements)14                {15                    Console.WriteLine(await element.EvaluateFunctionAsync<string>("x => x.outerHTML"));16                }17            }18        }19    }20}QuerySelectorAllAsync
Using AI Code Generation
1{2    public static async Task Main(string[] args)3    {4        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);5        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))6        using (var page = await browser.NewPageAsync())7        {8            var elements = await page.QuerySelectorAllAsync("input");9            foreach (var element in elements)10            {11                Console.WriteLine(element);12            }13        }14    }15}QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            var browserFetcher = new BrowserFetcher();9            await browserFetcher.DownloadAsync(BrowserFetcher.DefaultRevision);10            var browser = await Puppeteer.LaunchAsync(new LaunchOptions11            {12            });13            var page = await browser.NewPageAsync();14            var elements = await page.QuerySelectorAllAsync("a");15            Console.WriteLine(elements.Length);16            await browser.CloseAsync();17        }18    }19}QuerySelectorAllAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions9            {10            }))11            {12                using (var page = await browser.NewPageAsync())13                {14                    var elements = await page.QuerySelectorAllAsync("a");15                    var element = await page.QuerySelectorAsync("a");16                    Console.WriteLine("Number of elements with the specified selector: {0}", elements.Length);17                    Console.WriteLine("First element with the specified selector: {0}", element);18                }19            }20        }21    }22}23public Task<ElementHandle[]> QuerySelectorAllAsync(string selector)24public Task<ElementHandle> QuerySelectorAsync(string selector)Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
