Best Puppeteer-sharp code snippet using PuppeteerSharp.Page.EmulateAsync
PageServer.cs
Source:PageServer.cs  
...170            page = await context.NewPageAsync();171            ///å±è½ WebDriver æ£æµ172            await page.EvaluateFunctionOnNewDocumentAsync("function(){Object.defineProperty(navigator, 'webdriver', {get: () => undefined})}");173            DeviceDescriptor deviceOptions = Puppeteer.Devices.GetValueOrDefault(DeviceDescriptorName.IPhone7);174            await page.EmulateAsync(deviceOptions);175            await page.GoToAsync(Url);176            await page.WaitForTimeoutAsync(500);177            await GetPhoneCode(Phone, page);178            var seven = await page.EvaluateExpressionAsync("document.querySelectorAll('button[report-eventid=MLoginRegister_SMSReceiveCode]')[0].innerText");179            await page.ClickAsync("button[report-eventid='MLoginRegister_SMSReceiveCode']");180            await page.ClickAsync("input[type=checkbox]");181            await page.WaitForTimeoutAsync(500);182            string js = "document.body.outerText";183            var pageouterText = await page.EvaluateExpressionAsync(js);184            var pagetext = pageouterText.ToString();185            var data = await getCount(qlkey);186            if (pagetext.Contains("å®å
¨éªè¯") && !pagetext.Contains("éªè¯æå"))187            {188                Console.WriteLine(Phone + "å®å
¨éªè¯");...Index.cshtml.cs
Source:Index.cshtml.cs  
...189            }190            catch (Exception ex)191            {192            }193            //await page.EmulateAsync(Puppeteer.Devices[DeviceDescriptorName.IPhone8Plus]);194            //await page.GoToAsync("https://upay.10010.com/jf_wxgz");195            //await page.SetCookieAsync(new CookieParam { Name = "key", Value = "value", SameSite = SameSite.None, Secure = true });196            //string phone = "13113075869";197            //await page.ClickAsync("#number");198            //await page.TypeAsync("#number", phone);199            //Thread.Sleep(3000);200            //await page.ClickAsync("#cardlist > section > div.mobile-cardlist.cardlista > a:nth-child(1)");201            //await browser.CloseAsync();202            //await browser.DisposeAsync();203            //await page.EvaluateExpressionAsync($"document.getElementById('number').value={phone}");204            //var input = await page.("#number", "13113075869");205            //await input.EvaluateFunctionAsync("#number", "131125836985");206            //await page.ScreenshotAsync(outputFile);207        }...MatchTask.cs
Source:MatchTask.cs  
...132            dic.Add("Referer", _settings.Bet365.Url.MainPage.ToString());133            dic.Add("Accept-Encoding", "gzip, deflate, br");134            dic.Add("Accept-Language", "zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6");135            dic.Add("Connection", "keep-alive");136            await page.EmulateAsync(IPhone);137            await page.SetRequestInterceptionAsync(true);138            await page.SetExtraHttpHeadersAsync(dic);139            page.Request += async (sender, e) =>140            {141                if (e.Request.ResourceType == ResourceType.Image)142                    await e.Request.AbortAsync();143                else144                    await e.Request.ContinueAsync();145            };146            var waitUntil = new NavigationOptions();147            waitUntil.WaitUntil = new WaitUntilNavigation[1];148            waitUntil.WaitUntil.Append(WaitUntilNavigation.Networkidle2);149            await page.GoToAsync(_settings.Bet365.Url.MainPage.ToString(), waitUntil);150            var waitOption = new WaitForSelectorOptions...HomeController.cs
Source:HomeController.cs  
...53            {54                var devices = Puppeteer.Devices;55                var iphone = devices[DeviceDescriptorName.IPhone6];56                var page = browser.NewPageAsync().GetAwaiter().GetResult();57                await page.EmulateAsync(iphone);58                try59                {60                    await page.GoToAsync(Url);61                    string html = await page.GetContentAsync();62                    System.Threading.Thread.Sleep(5000);63                    await page.EvaluateExpressionAsync(ClickButton("Log In"));64                    string usernamePasswordScript = @"65var username = document.getElementsByName(""username"")[0];66username.value=""zawarmehmood.2003@gmail.com"";67var password = document.getElementsByName(""password"")[0];68password.value=""Zawar123!@#"";69";70                    System.Threading.Thread.Sleep(5000);71                    for (int i = 0; i < 4; i++)...Puppeteer.cs
Source:Puppeteer.cs  
...71        /// <param name="options">Options.</param>72        public static BrowserFetcher CreateBrowserFetcher(BrowserFetcherOptions options)73            => new BrowserFetcher(options);74        /// <summary>75        /// Returns a list of devices to be used with <seealso cref="Page.EmulateAsync(DeviceDescriptor)"/>. 76        /// </summary>77        /// <example>78        /// <code>79        ///<![CDATA[80        /// var iPhone = Puppeteer.Devices[DeviceDescriptorName.IPhone6];81        /// using(var page = await browser.NewPageAsync())82        /// {83        ///     await page.EmulateAsync(iPhone);84        ///     await page.goto('https://www.google.com');85        /// }86        /// ]]>87        /// </code>88        /// </example>89        public static IReadOnlyDictionary<DeviceDescriptorName, DeviceDescriptor> Devices => DeviceDescriptors.ToReadOnly();90    }91}...PuppeteerEngine.cs
Source:PuppeteerEngine.cs  
...27            dic.Add("Referer", _settings.Bet365.Url.MainPage.ToString());28            dic.Add("Accept-Encoding", "gzip, deflate, br");29            dic.Add("Accept-Language", "zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6");30            dic.Add("Connection", "keep-alive");31            await page.EmulateAsync(IPhone);32            await page.SetRequestInterceptionAsync(true);33            await page.SetExtraHttpHeadersAsync(dic);34            page.Request += async (sender, e) =>35            {36                if (e.Request.ResourceType == ResourceType.Image)37                    await e.Request.AbortAsync();38                else39                    await e.Request.ContinueAsync();40            };41            return page;42        }43        public async void launchBrowser(){44            _browser = await Puppeteer.LaunchAsync(new LaunchOptions45            {...TouchScreenTests.cs
Source:TouchScreenTests.cs  
...13        }14        [Fact]15        public async Task ShouldTapTheButton()16        {17            await Page.EmulateAsync(_iPhone);18            await Page.GoToAsync(TestConstants.ServerUrl + "/input/button.html");19            await Page.TapAsync("button");20            Assert.Equal("Clicked", await Page.EvaluateExpressionAsync<string>("result"));21        }22        [Fact]23        public async Task ShouldReportTouches()24        {25            await Page.EmulateAsync(_iPhone);26            await Page.GoToAsync(TestConstants.ServerUrl + "/input/touches.html");27            var button = await Page.QuerySelectorAsync("button");28            await button.TapAsync();29            Assert.Equal(new string[] {30                "Touchstart: 0",31                "Touchend: 0"32            }, await Page.EvaluateExpressionAsync<string[]>("getResult()"));33        }34    }35}...EmulateTests.cs
Source:EmulateTests.cs  
...12        [Fact]13        public async Task ShouldWork()14        {15            await Page.GoToAsync(TestConstants.ServerUrl + "/mobile.html");16            await Page.EmulateAsync(TestConstants.IPhone);17            Assert.Equal(375, await Page.EvaluateExpressionAsync<int>("window.innerWidth"));18            Assert.Contains("Safari", await Page.EvaluateExpressionAsync<string>("navigator.userAgent"));19        }20        [Fact]21        public async Task ShouldSupportClicking()22        {23            await Page.EmulateAsync(TestConstants.IPhone);24            await Page.GoToAsync(TestConstants.ServerUrl + "/input/button.html");25            var button = await Page.QuerySelectorAsync("button");26            await Page.EvaluateFunctionAsync("button => button.style.marginTop = '200px'", button);27            await button.ClickAsync();28            Assert.Equal("Clicked", await Page.EvaluateExpressionAsync<string>("result"));29        }30    }31}...EmulateAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4{5    {6        static async Task Main(string[] args)7        {8            {9                ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",10                Args = new string[] { "--no-sandbox" }11            };12            await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);13            var browser = await Puppeteer.LaunchAsync(options);14            var page = await browser.NewPageAsync();15            await page.EmulateAsync(new EmulateOptions16            {17                UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0",18                {19                }20            });21            await page.ScreenshotAsync("google.png");22            await browser.CloseAsync();23        }24    }25}26using System;27using System.Threading.Tasks;28using PuppeteerSharp;29{30    {31        static async Task Main(string[] args)32        {33            {34                ExecutablePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",35                Args = new string[] { "--no-sandbox" }36            };37            await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);38            var browser = await Puppeteer.LaunchAsync(options);39            var page = await browser.NewPageAsync();40            await page.SetViewportAsync(new ViewPortOptions41            {42            });43            await page.ScreenshotAsync("google.png");44            await browser.CloseAsync();45        }46    }47}48using System;49using System.Threading.Tasks;50using PuppeteerSharp;51{52    {EmulateAsync
Using AI Code Generation
1var page = await browser.NewPageAsync();2await page.EmulateAsync(new EmulationOptions { Viewport = new ViewPortOptions { Width = 1920, Height = 1080 } });3await page.ScreenshotAsync("google.png");4var page = await browser.NewPageAsync();5var frame = page.MainFrame;6await frame.EmulateAsync(new EmulationOptions { Viewport = new ViewPortOptions { Width = 1920, Height = 1080 } });7await frame.ScreenshotAsync("google.png");8var page = await browser.NewPageAsync();9await page.EmulateAsync(new EmulationOptions { Viewport = new ViewPortOptions { Width = 1920, Height = 1080 } });10await page.ScreenshotAsync("google.png");11var page = await browser.NewPageAsync();12var frame = page.MainFrame;13await frame.EmulateAsync(new EmulationOptions { Viewport = new ViewPortOptions { Width = 1920, Height = 1080 } });14await frame.ScreenshotAsync("google.png");15var page = await browser.NewPageAsync();16await page.EmulateAsync(new EmulationOptions { Viewport = new ViewPortOptions { Width = 1920, Height = 1080 } });17await page.ScreenshotAsync("google.png");18var page = await browser.NewPageAsync();19var frame = page.MainFrame;20await frame.EmulateAsync(new EmulationOptions { Viewport = new ViewPortOptions { Width = 1920, Height = 1080 } });EmulateAsync
Using AI Code Generation
1var browser = await Puppeteer.LaunchAsync(new LaunchOptions2{3});4var page = await browser.NewPageAsync();5await page.EmulateAsync(new ViewPortOptions6{7});8await page.ScreenshotAsync("1.png");9var browser = await Puppeteer.LaunchAsync(new LaunchOptions10{11});12var page = await browser.NewPageAsync();13await page.EmulateAsync(new ViewPortOptions14{15});16await page.ScreenshotAsync("2.png");17var browser = await Puppeteer.LaunchAsync(new LaunchOptions18{19});20var page = await browser.NewPageAsync();21await page.EmulateAsync(new ViewPortOptions22{23});24await page.ScreenshotAsync("3.png");25var browser = await Puppeteer.LaunchAsync(new LaunchOptions26{27});28var page = await browser.NewPageAsync();29await page.EmulateAsync(new ViewPortOptions30{31});32await page.ScreenshotAsync("4.png");33var browser = await Puppeteer.LaunchAsync(new LaunchOptions34{35});36var page = await browser.NewPageAsync();37await page.EmulateAsync(new ViewPortOptions38{39});40await page.ScreenshotAsync("5.png");EmulateAsync
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using PuppeteerSharp;4using System.IO;5using System.Linq;6using System.Threading;7using System.Collections.Generic;8using System.Text.RegularExpressions;9{10    {11        static async Task Main(string[] args)12        {13            {14            };15            var browser = await Puppeteer.LaunchAsync(options);16            var page = await browser.NewPageAsync();17            await page.EmulateAsync(new ViewPortOptions18            {19            });20            await page.ScreenshotAsync("google.png");21            await browser.CloseAsync();22        }23    }24}25using System;26using System.Threading.Tasks;27using PuppeteerSharp;28using System.IO;29using System.Linq;30using System.Threading;31using System.Collections.Generic;32using System.Text.RegularExpressions;33{34    {35        static async Task Main(string[] args)36        {37            {38            };39            var browser = await Puppeteer.LaunchAsync(options);40            var page = await browser.NewPageAsync();41            await page.EmulateAsync(new ViewPortOptions42            {43            });44            await page.ScreenshotAsync("google.png");45            await browser.CloseAsync();46        }47    }48}49using System;50using System.Threading.Tasks;51using PuppeteerSharp;52using System.IO;53using System.Linq;54using System.Threading;55using System.Collections.Generic;56using System.Text.RegularExpressions;57{58    {59        static async Task Main(string[] args)60        {61            {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!!
