Best Puppeteer-sharp code snippet using PuppeteerSharp.Dialog
UCFullPageScreenShot.cs
Source:UCFullPageScreenShot.cs
...61 // }62 //}63 private void btn_path_Click(object sender, EventArgs e)64 {65 if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)66 {67 tbx_path.Text = folderBrowserDialog1.SelectedPath;68 }69 }70 private void btn_start_Click(object sender, EventArgs e)71 {72 if (!System.IO.Directory.Exists(tbx_path.Text))73 {74 MessageBox.Show("请æ£ç¡®éæ©è¦ä¿åçæ件路å¾", "æ示");75 return;76 }77 var urls = tbx_urls.Lines.Where(m => m.Contains(".") && m.Length > 10).Where(m => m.StartsWith("http://") || m.StartsWith("https://")).Select(m =>78 {79 try80 {81 return new Uri(m.ToString());82 }83 catch (Exception)84 {85 return null;86 }87 }).Where(m => m != null);88 if (!urls.Any())89 {90 MessageBox.Show("请æ£ç¡®å¡«åç½åï¼httpå¼å¤´æ¯è¡ä¸ä¸ª", "æ示");91 return;92 }93 OnShowTooltipInfo("0/" + urls.Count());94 OnSetProcessMax(urls.Count());95 OnSetProcessValue(0);96 var dirpath = Path.Combine(tbx_path.Text,DateTime.Now.ToString("yyyyMMdd"));97 Directory.CreateDirectory(dirpath);98 var randomCity = cbx_changecity2.Checked;//éæºåæ¢å°åº99 var country = cb_country.Text;//åºå®å°åº100 var pagetype = cbx_pagetype.SelectedIndex;101 Task.Run(() =>102 BulidPdfAsync(urls.ToArray(), dirpath, country, randomCity, cbx_text.Checked ? tbx_text.Text : string.Empty, cbx_his.Checked, GetPaperFormat(pagetype)103 ));104 }105 private readonly string _userAgent = $"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{new Random().Next(79, 84)}.0.{new Random().Next(3000, 4000)}.0 Safari/537.36";106 /// <summary>107 /// 108 /// </summary>109 /// <param name="urls"></param>110 /// <param name="path"></param>111 /// <param name="changeCountry">éæ©åæ¢çå½å®¶</param>112 /// <param name="randomCity">éæºåæ¢åå¸</param>113 /// <param name="addText">æ·»å 页ç/页èå
容</param>114 /// <returns></returns>115 private async Task BulidPdfAsync(Uri[] urls, string path, string changeCountry, bool randomCity, string addText, bool saveHis, PaperFormat paperFormat)116 {117 try118 {119 await new BrowserFetcher(new BrowserFetcherOptions()120 {121 Host = "http://cdn.npm.taobao.org/dist"122 }).DownloadAsync(BrowserFetcher.DefaultRevision);123 var option = new LaunchOptions124 {125 UserDataDir = $"{System.IO.Directory.GetCurrentDirectory()}/UserData",126 Headless = true,127 DefaultViewport = null,128 Args = new[] {129 "--no-sandbox",130 "--disable-setuid-sandbox",131 "--lang=en-US,en",132 "--start-maximized",133 // "--disable-dev-shm-usage",134 // "--disable-extensions",135 // "--disable-gpu",136 // "--disable-infobars",137 //"--disable-local-storage",138 // "--no-zygote",139 // "--disable-bundled-ppapi-flash"140 //$"--user-agent={_userAgent}"141 },142 IgnoreHTTPSErrors = true,143 };144 using (var browser = await Puppeteer.LaunchAsync(option))145 {146 BrowserContext browserContext = browser.DefaultContext;147 //if (saveHis)148 //{149 // browserContext = await browser.CreateIncognitoBrowserContextAsync();150 //}151 var page = await browserContext.NewPageAsync();152 await page.SetUserAgentAsync(_userAgent);153 await page.SetViewportAsync(new ViewPortOptions154 {155 Width = Screen.PrimaryScreen.WorkingArea.Width,156 Height = Screen.PrimaryScreen.WorkingArea.Height157 });158 159 if (!changeCountry.Contains("请éæ©") && _CountryModels.Any())160 {161 OnShowTooltipInfo("åå§åé¦é¡µå
容,å¼å§åæ¢å½å®¶");162 //var zips = Properties.Resources.zip.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);163 //var zip = zips.OrderBy(m => Guid.NewGuid()).First(); 164 await page.GoToAsync("https://www.amazon.com/");165 var pagetitle = await page.GetTitleAsync();166 try167 {168 var docid = _CountryModels.Find(m => m.Text.Contains(changeCountry));169 if (docid != null)170 {171 await page.EvaluateFunctionAsync(Properties.Resources.oChange2, docid.Id);172 }173 }174 catch (Exception ex)175 {176 MessageBox.Show("访é®ç½ååé,èªå¨åæ¢å°åºå¤±è´¥,\r\n请çå¾
äºé©¬é解å°æåæ¢æ°ipååå°è¯\r\n" + ex.Message, pagetitle);177 return;178 }179 await Task.Delay(8000);180 }181 else if (randomCity)//没æéæ©å½å®¶çæ
åµï¼éæ©å°åºåæ¢å°åº182 {183 OnShowTooltipInfo("åå§åé¦é¡µå
容,å¼å§åæ¢å°åº");184 var zips = Properties.Resources.zip.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);185 var zip = zips.OrderBy(m => Guid.NewGuid()).First();186 await page.GoToAsync("https://www.amazon.com/");187 var pagetitle = await page.GetTitleAsync();188 try189 {190 await InputMatchCaptch(page);191 await page.EvaluateFunctionAsync(Properties.Resources.oChange, zip);192 }193 catch (Exception ex)194 {195 MessageBox.Show("访é®ç½ååé,èªå¨åæ¢å°åºå¤±è´¥,\r\n请çå¾
äºé©¬é解å°æåæ¢æ°ipååå°è¯", pagetitle);196 throw ex;197 }198 await Task.Delay(10000);199 }200 int index = 0;201 int max = urls.Length;202 var prelist = Properties.Resources.preload.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);203 var maxwidth = Screen.PrimaryScreen.WorkingArea.Width;204 foreach (var item in urls)205 {206 index += 1;207 var ht = $"<div style=\"top:0px;font-size:10px;margin-left:10px;width:{maxwidth}px;\" ><span style=\"margin-left: 20px;\">{item}</span><span style=\"margin-left: 25%;\"></span><span style=\"margin-left:25%;\">{addText}</span></div>";208 var ft = $"<div style=\"top:0px;font-size:10px;margin-left: 10px;width:{maxwidth}px;\"><span style=\"margin-left: 20px;\">{item}</span><span style=\"margin-left: 25%;\"></span><span style=\"margin-left:25%;\">{addText}</span></div>";209 try210 {211 OnShowTooltipInfo($"å¼å§å 载页é¢{item}");212 // progressBar.PerformStep();213 //æ索记å½214 if (saveHis)215 {216 var preurl = prelist.OrderBy(m => Guid.NewGuid()).Take(6).ToList();217 for (int i = 0; i < preurl.Count; i++)218 {219 await InputMatchCaptch(page);220 var url = preurl[i];221 OnShowTooltipInfo($"å¢å æµè§è®°å½ {(i + 1)}/{preurl.Count}");222 await page.GoToAsync(url);223 }224 }225 OnShowTooltipInfo("æå¼ç®æ é¡µé¢ " + item.ToString());226 //ç®æ 页é¢227 await page.GoToAsync(item.ToString());228 await page.EvaluateFunctionAsync<string>("()=>{try{document.querySelector('#productTitle').click(); document.querySelector('.nav-signin-tt.nav-flyout').remove();return 1;}catch(ex){return 0;}}");229 if (saveHis)230 {231 OnShowTooltipInfo("å±ç¤ºæµè§è®°å½");232 var result = await page.EvaluateFunctionAsync<string>("()=>{try{window.scrollBy(0,document.querySelector('.navFooterBackToTopText').getBoundingClientRect().top-600);return 1;}catch(ex){console.log(ex);return 0;}}");233 await Task.Delay(3000);234 result = await page.EvaluateFunctionAsync<string>(Properties.Resources.oRandom);235 await Task.Delay(5000);236 }237 var file = Path.Combine(path, item.AbsolutePath.Replace("/dp/", "").Replace("/", "") + ".pdf");238 OnShowTooltipInfo("å¼å§çæPDF " + file);239 if (option.Headless)240 {241 await page.PdfAsync(file, new PdfOptions()242 {243 PrintBackground = true,244 DisplayHeaderFooter = !string.IsNullOrEmpty(addText),245 HeaderTemplate = ht,246 FooterTemplate = ft,247 MarginOptions = new PuppeteerSharp.Media.MarginOptions()248 {249 Top = "40",250 Bottom = "40",251 Left = "30",252 Right = "30"253 }, 254 Format = paperFormat255 });256 }257 OnSetProcessValue(index);258 }259 catch (Exception ex)260 {261 OnShowTooltipInfo(ex.Message + "æä½å¤±è´¥ " + item);262 continue;263 // throw;264 }265 }266 //if (saveHis)267 //{268 // var ck = await page.GetCookiesAsync("https://www.amazon.com");269 // await page.DeleteCookieAsync(ck);270 //}271 OnShowTooltipInfo($"æä½å®æ {index}/{urls.Length}");272 }273 }274 catch (Exception ex)275 {276 MessageBox.Show(ex.Message, "message", MessageBoxButtons.OK, MessageBoxIcon.Error);277 return;278 //throw;279 }280 }281 private static async Task InputMatchCaptch(Page page)282 {283 try284 {285 var input_captch = await page.QuerySelectorAsync("#captchacharacters");286 if (input_captch != null)287 {288 var img_captch = await page.EvaluateFunctionAsync<string>("()=>{try{ return document.querySelector('form img').src;}catch(e){return '';}}");289 var btnsubmit = await page.QuerySelectorAsync("button[type='submit']");290 var capthForm = new Form()291 {292 Text = "请å¨ææ¬æ¡å
è¾å
¥å¾çä¸çéªè¯ç ï¼",293 FormBorderStyle = FormBorderStyle.FixedSingle,294 MaximizeBox = false,295 ShowIcon = false,296 Height = 300,297 Width = 450,298 TopLevel = true299 };300 var macthCaptch = new MatchCaptch();301 macthCaptch.LoadImage(img_captch);302 capthForm.Controls.Add(macthCaptch);303 if (capthForm.ShowDialog() == DialogResult.OK)304 {305 await input_captch.TypeAsync(macthCaptch.InputStr, new PuppeteerSharp.Input.TypeOptions { Delay = 500 });//è¾å
¥éªè¯ç 306 await btnsubmit.ClickAsync();307 await page.WaitForTimeoutAsync(5000);308 }309 }310 }311 catch (Exception ex)312 {313 MessageBox.Show(ex.Message, "è¾å
¥éªè¯ç å¼å¸¸é误", MessageBoxButtons.OK, MessageBoxIcon.Error);314 }315 }316 public PaperFormat GetPaperFormat(int index)317 {...
Methods.cs
Source:Methods.cs
...177 {178 e.Request.ContinueAsync();179 }180 };181 if (data.ConfigSettings.PuppeteerSettings.DismissDialogs)182 {183 page.Dialog += (sender, e) =>184 {185 data.Logger.Log($"Dialog automatically dismissed: {e.Dialog.Message}", LogColors.DarkSalmon);186 e.Dialog.Dismiss();187 };188 }189 }190 }191}...
BrowserInstance.cs
Source:BrowserInstance.cs
...51 CurrentPageInstance.DOMContentLoaded -= OnCurrentPageInstanceOnDomContentLoaded;52 CurrentPageInstance.RequestFailed -= OnCurrentPageInstanceOnRequestFailed;53 CurrentPageInstance.Close -= OnCurrentPageInstanceOnClose;54 CurrentPageInstance.PageError -= OnCurrentPageInstanceOnPageInstanceError;55 CurrentPageInstance.Dialog -= OnCurrentPageInstanceOnDialog;56 CurrentBrowserInstance.Closed -= OnCurrentBrowserInstanceOnClosed;57 await CurrentPageInstance.CloseAsync();58 await CurrentBrowserInstance.CloseAsync();59 await CurrentPageInstance.DisposeAsync();60 CurrentPageInstance = null;61 await CurrentBrowserInstance.DisposeAsync();62 CurrentBrowserInstance = null;63 }64 public async Task LaunchIfClosed()65 {66 if (CurrentBrowserInstance == null)67 {68 string executableLocalPath = null;69 // prioritize last used browser70 var useBrowser = _localBrowsers.FirstOrDefault(b => b.BrowserID == _settings.UsedBrowser);71 //var useBrowser = _localBrowsers.FirstOrDefault(b => b is BundledChromium);72 if (useBrowser != null)73 {74 _localBrowsers.Remove(useBrowser);75 _localBrowsers.Insert(0, useBrowser);76 }77 foreach (ILocalBrowser localBrowser in _localBrowsers)78 {79 executableLocalPath = await localBrowser.GetExecutable();80 if (executableLocalPath == null)81 {82 continue;83 }84 // Sign out if browser is changed85 if (localBrowser.BrowserID != _settings.UsedBrowser)86 {87 _gUser.IsSignedIn = false;88 DeleteUserData();89 _settings.UsedBrowser = localBrowser.BrowserID;90 }91 break;92 }93 if (string.IsNullOrEmpty(executableLocalPath))94 {95 // Failed to run any Browser96 return;97 }98 CurrentBrowserInstance = await LaunchBrowser(UserDataDirPath(), executableLocalPath);99 // user closes browser scenario100 CurrentBrowserInstance.Closed += OnUserClosedBrowser;101 }102 if (CurrentPageInstance == null)103 {104 var pages = await CurrentBrowserInstance.PagesAsync();105 CurrentPageInstance = null;106 if (pages.Any() && pages.Last().Url == "about:blank")107 {108 CurrentPageInstance = pages.Last();109 }110 else111 {112 CurrentPageInstance = await CurrentBrowserInstance.NewPageAsync();113 }114 // configure Logger115 CurrentPageInstance.FrameNavigated += OnCurrentPageInstanceOnFrameNavigated;116 CurrentPageInstance.Load += OnCurrentPageInstanceOnLoad;117 CurrentPageInstance.Error += OnCurrentPageInstanceOnError;118 CurrentPageInstance.DOMContentLoaded += OnCurrentPageInstanceOnDomContentLoaded;119 CurrentPageInstance.RequestFailed += OnCurrentPageInstanceOnRequestFailed;120 CurrentPageInstance.Close += OnCurrentPageInstanceOnClose;121 CurrentPageInstance.PageError += OnCurrentPageInstanceOnPageInstanceError;122 CurrentPageInstance.Dialog += OnCurrentPageInstanceOnDialog;123 CurrentBrowserInstance.Closed += OnCurrentBrowserInstanceOnClosed;124 //CurrentPageInstance.Request += (sender, args) =>125 //{126 // App.PuppeteerLogger.Information($"{args.Request.Method.Method} {args.Request.Url}");127 //};128 //CurrentPageInstance.Response += (sender, args) =>129 //{130 // App.PuppeteerLogger.Information($"{args.Response.Ok} {args.Response.Url}");131 //};132 //await CurrentPageInstance.SetViewportAsync();133 }134 }135 private async void OnUserClosedBrowser(object? sender, EventArgs e) => await Close();136 private static async Task<Browser> LaunchBrowser(string userDataDirPath, string executableLocalPath) =>137 await Puppeteer.LaunchAsync(new LaunchOptions138 {139 Headless = false,140 UserDataDir = userDataDirPath,141 ExecutablePath = executableLocalPath,142 //Args = new []{143 // "--disable-background-timer-throttling",144 // "--disable-backgrounding-occluded-windows",145 // "--disable-renderer-backgrounding"146 //},147 IgnoredDefaultArgs = new[] {"--disable-extensions"},148 DefaultViewport = new ViewPortOptions() {Height = 600, Width = 1000}149 });150 private void OnCurrentBrowserInstanceOnClosed(object? sender, EventArgs args) =>151 App.PuppeteerLogger.Information($"Browser closed.");152 private void OnCurrentPageInstanceOnDialog(object? sender, DialogEventArgs args) =>153 App.PuppeteerLogger.Information($"{args.Dialog.DialogType} {args.Dialog.Message}");154 private void OnCurrentPageInstanceOnPageInstanceError(object? sender, PageErrorEventArgs args) =>155 App.PuppeteerLogger.Error($"PageError {args.Message}");156 private void OnCurrentPageInstanceOnClose(object? sender, EventArgs args) =>157 App.PuppeteerLogger.Information($"Page closed.");158 private void OnCurrentPageInstanceOnRequestFailed(object? sender, RequestEventArgs args) =>159 App.PuppeteerLogger.Error($"{args.Request.Method.Method} {args.Request.Url}");160 private void OnCurrentPageInstanceOnDomContentLoaded(object? sender, EventArgs args) =>161 App.PuppeteerLogger.Information($"DOMLoaded {CurrentPageInstance.Url}");162 private void OnCurrentPageInstanceOnError(object? sender, ErrorEventArgs args) =>163 App.PuppeteerLogger.Error($"{args.Error}");164 private void OnCurrentPageInstanceOnLoad(object? sender, EventArgs args) =>165 App.PuppeteerLogger.Information($"OnLoaded {CurrentPageInstance.Url}");166 private void OnCurrentPageInstanceOnFrameNavigated(object? sender, FrameEventArgs args) =>167 App.PuppeteerLogger.Information($"Navigated to {args.Frame.Url}");...
Program.cs
Source:Program.cs
...43 Height = 76844 });45 await page.GoToAsync("https://www.remove.bg/");46 await page.ClickAsync(".select-photo-url-btn");47 page.Dialog += async (sender, e) =>48 {49 if (e.Dialog.DialogType == DialogType.Confirm)50 {51 await e.Dialog.Accept("https://o.remove.bg/uploads/14f9f1a1-a21f-4346-a2ad-9cab0785fa4d/u_4061252405_819153609_fm_173_app_25_f_JPEG.jpeg");52 await e.Dialog.Dismiss();53 }54 };55 //page.Popup += async (sender, e) =>56 //{57 // Console.WriteLine("456");58 //};59 // await page.WaitForTimeoutAsync(5);60 //await page.ClickAsync(".select-photo-file-btn");61 //Thread.Sleep(1000);62 //AU3_ControlFocus("æå¼","","Edit1");63 //AU3_WinWait("[CLASS:#32770]", "", 10);64 //AU3_ControlSetText("æå¼", "", "Edit1", "D:\\1.png");65 //AU3_ControlClick("æå¼", "", "Button1", "left", 1,1,1);66 //await page.EvaluateExpressionAsync("alert('yo');");...
Dialog.cs
Source:Dialog.cs
...3using PuppeteerSharp.Messaging;4namespace PuppeteerSharp5{6 /// <summary>7 /// <see cref="Dialog"/> objects are dispatched by page via the 'dialog' event.8 /// </summary>9 /// <example>10 /// An example of using Dialog class:11 ///<code>12 ///<![CDATA[13 /// Page.Dialog += async (sender, e) =>14 /// {15 /// await e.Dialog.Accept();16 /// }17 /// await Page.EvaluateExpressionAsync("alert('yo');");18 /// ]]>19 /// </code>20 /// </example>21 public class Dialog22 {23 private readonly CDPSession _client;24 /// <summary>25 /// Dialog's type, can be one of alert, beforeunload, confirm or prompt.26 /// </summary>27 /// <value>The type of the dialog.</value>28 public DialogType DialogType { get; set; }29 /// <summary>30 /// If dialog is prompt, returns default prompt value. Otherwise, returns empty string.31 /// </summary>32 /// <value>The default value.</value>33 public string DefaultValue { get; set; }34 /// <summary>35 /// A message displayed in the dialog.36 /// </summary>37 /// <value>The message.</value>38 public string Message { get; set; }39 /// <summary>40 /// Initializes a new instance of the <see cref="Dialog"/> class.41 /// </summary>42 /// <param name="client">Client.</param>43 /// <param name="type">Type.</param>44 /// <param name="message">Message.</param>45 /// <param name="defaultValue">Default value.</param>46 public Dialog(CDPSession client, DialogType type, string message, string defaultValue)47 {48 _client = client;49 DialogType = type;50 Message = message;51 DefaultValue = defaultValue;52 }53 /// <summary>54 /// Accept the Dialog.55 /// </summary>56 /// <returns>Task which resolves when the dialog has been accepted.</returns>57 /// <param name="promptText">A text to enter in prompt. Does not cause any effects if the dialog's type is not prompt.</param>58 public Task Accept(string promptText = "")59 {60 return _client.SendAsync("Page.handleJavaScriptDialog", new Dictionary<string, object>61 {62 { MessageKeys.Accept, true },63 { MessageKeys.PromptText, promptText }64 });65 }66 /// <summary>67 /// Dismiss the dialog.68 /// </summary>69 /// <returns>Task which resolves when the dialog has been dismissed.</returns>70 public Task Dismiss()71 {72 return _client.SendAsync("Page.handleJavaScriptDialog", new Dictionary<string, object>73 {74 { MessageKeys.Accept, false }75 });76 }77 }78}...
IPuppeteerContext.cs
Source:IPuppeteerContext.cs
...11 bool PageEvents { get; }12 bool BrowserEvents { get; }13 TimeSpan PageLoadTimeout { get; }14 bool PageCacheEnabled { get; }15 EventHandler<DialogEventArgs> DialogHandler { get; }16 IPuppeteerContext SetOverridePermission();17 IPuppeteerContext SetDefaultLaunchProperties();18 IPuppeteerContext SetEnLangAndIgnoreCertErrors();19 IPuppeteerContext SetPageDialogHandler(EventHandler<DialogEventArgs> eventHandler);20 IPuppeteerContext SetBrowserProperty(string property);21 IPuppeteerContext SetIncognito(bool incognito = true);22 IPuppeteerContext SetProxy(string ip, int port, string userName, string pwd);23 IPuppeteerContext SetHeadless(bool headless);24 IPuppeteerContext SetHeadless(TimeSpan timeout);25 IPuppeteerContext SetPageCacheEnabled(bool enabled);26 Task<IPuppeteerBrowser> CreateBrowser(Platform platform);27 IPuppeteerContext DisableWebSecurity();28 IPuppeteerContext DisableFeatures(string arg); 29 IPuppeteerContext DisableXssAuditor();30 IPuppeteerContext EnableBrowserEvents(bool browserEvents);31 IPuppeteerContext EnablePageEvents(bool pageEvents);32 }33}...
DialogEventArgs.cs
Source:DialogEventArgs.cs
2using System.Collections.Generic;3namespace PuppeteerSharp4{5 /// <summary>6 /// <see cref="Page.Dialog"/> arguments.7 /// </summary>8 public class DialogEventArgs : EventArgs9 {10 /// <summary>11 /// Dialog data.12 /// </summary>13 /// <value>Dialog data.</value>14 public Dialog Dialog { get; }15 /// <summary>16 /// Initializes a new instance of the <see cref="DialogEventArgs"/> class.17 /// </summary>18 /// <param name="dialog">Dialog.</param>19 public DialogEventArgs(Dialog dialog) => Dialog = dialog;20 }21}...
DialogType.cs
Source:DialogType.cs
1using System.Runtime.Serialization;2namespace PuppeteerSharp3{4 /// <summary>5 /// Dialog type.6 /// </summary>7 /// <seealso cref="Dialog"/>8 public enum DialogType9 {10 /// <summary>11 /// Alert dialog.12 /// </summary>13 Alert,14 /// <summary>15 /// Prompt dialog.16 /// </summary>17 Prompt,18 /// <summary>19 /// Confirm dialog.20 /// </summary>21 Confirm,22 /// <summary>...
Dialog
Using AI Code Generation
1using PuppeteerSharp;2using System.Threading.Tasks;3{4 {5 static async Task Main(string[] args)6 {7 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);8 var browser = await Puppeteer.LaunchAsync(new LaunchOptions9 {10 });11 var page = await browser.NewPageAsync();12 await page.ScreenshotAsync("google.png");13 await browser.CloseAsync();14 }15 }16}17using PuppeteerSharp;18using System.Threading.Tasks;19{20 {21 static async Task Main(string[] args)22 {23 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);24 var browser = await Puppeteer.LaunchAsync(new LaunchOptions25 {26 });27 var page = await browser.NewPageAsync();28 await page.ScreenshotAsync("google.png");29 await browser.CloseAsync();30 }31 }32}33using PuppeteerSharp;34using System.Threading.Tasks;35{36 {37 static async Task Main(string[] args)38 {39 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);40 var browser = await Puppeteer.LaunchAsync(new LaunchOptions41 {42 });43 var page = await browser.NewPageAsync();44 await page.ScreenshotAsync("google.png");45 await browser.CloseAsync();46 }47 }48}49using PuppeteerSharp;50using System.Threading.Tasks;51{52 {53 static async Task Main(string[] args)54 {55 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);56 var browser = await Puppeteer.LaunchAsync(new LaunchOptions57 {
Dialog
Using AI Code Generation
1var dialog = await page.WaitForDialogAsync();2await dialog.AcceptAsync();3await page.WaitForNavigationAsync();4var dialog = await page.WaitForDialogAsync();5await dialog.AcceptAsync();6await page.WaitForNavigationAsync();7var dialog = await page.WaitForDialogAsync();8await dialog.AcceptAsync();9await page.WaitForNavigationAsync();10var dialog = await page.WaitForDialogAsync();11await dialog.AcceptAsync();12await page.WaitForNavigationAsync();13var dialog = await page.WaitForDialogAsync();14await dialog.AcceptAsync();15await page.WaitForNavigationAsync();16var dialog = await page.WaitForDialogAsync();17await dialog.AcceptAsync();18await page.WaitForNavigationAsync();19var dialog = await page.WaitForDialogAsync();20await dialog.AcceptAsync();21await page.WaitForNavigationAsync();22var dialog = await page.WaitForDialogAsync();23await dialog.AcceptAsync();24await page.WaitForNavigationAsync();25var dialog = await page.WaitForDialogAsync();26await dialog.AcceptAsync();27await page.WaitForNavigationAsync();28var dialog = await page.WaitForDialogAsync();29await dialog.AcceptAsync();30await page.WaitForNavigationAsync();31var dialog = await page.WaitForDialogAsync();32await dialog.AcceptAsync();33await page.WaitForNavigationAsync();34var dialog = await page.WaitForDialogAsync();35await dialog.AcceptAsync();36await page.WaitForNavigationAsync();37var dialog = await page.WaitForDialogAsync();38await dialog.AcceptAsync();39await page.WaitForNavigationAsync();
Dialog
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5 {6 static void Main(string[] args)7 {8 MainAsync().GetAwaiter().GetResult();9 }10 static async Task MainAsync()11 {12 var browser = await Puppeteer.LaunchAsync(new LaunchOptions13 {14 ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"15 });16 var page = await browser.NewPageAsync();17 await page.ScreenshotAsync("google.png");18 var title = await page.EvaluateExpressionAsync<string>("document.title");19 Console.WriteLine(title);20 await browser.CloseAsync();21 }22 }23}24using System;25using System.Threading.Tasks;26using PuppeteerSharp;27{28 {29 static void Main(string[] args)30 {31 MainAsync().GetAwaiter().GetResult();32 }33 static async Task MainAsync()34 {35 var browser = await Puppeteer.LaunchAsync(new LaunchOptions36 {37 ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"38 });39 var page = await browser.NewPageAsync();
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!!