How to use Key class of PuppeteerSharp.Input package

Best Puppeteer-sharp code snippet using PuppeteerSharp.Input.Key

PageServer.cs

Source:PageServer.cs Github

copy

Full Screen

...37            lock (_locker)38            {39                string MaxTab = _mainConfig.MaxTab;40                if (string.IsNullOrEmpty(MaxTab)) MaxTab = "4";41                if (!pagelist.ContainsKey(phone))42                {43                    if (pagelist.Count < int.Parse(MaxTab))44                    {45                        pagelist.Add(phone, page);46                        return page;47                    }48                }49                else50                    return pagelist[phone];51            }52            return null;53        }54        public  void Delpage(string phone, Page page)55        {56            lock (_locker)57            {58                if (pagelist.ContainsKey(phone))59                {60                    pagelist.Remove(phone);61                }62            }63        }64        public  Page GetPage(string Phone)65        {66            lock (_locker)67            {68                if (!pagelist.ContainsKey(Phone))69                {70                    return null;71                }72                else73                    return pagelist[Phone];74            }75        }76        public  Page GetPage()77        {78            lock (_locker)79            {80                System.Threading.Thread.Sleep(500);81                if (pagelist.Count > 0)82                    return pagelist.First().Value;...

Full Screen

Full Screen

Index.cshtml.cs

Source:Index.cshtml.cs Github

copy

Full Screen

...38                var offeRateOrder = await "https://upay.10010.com/npfwap/NpfMobAppQuery/feeSearch/OfferateOrder"39                                        .WithHeaders(new { Referer = "https://upay.10010.com/jf_wxgz" })40                                        .WithCookies(cookies).PostAsync()41                                        .ReceiveString();42                var needCodeResponse = await "https://upay.10010.com/npfwap/NpfMob/needCode?channelType=307&channelKey=wxgz"43                                .WithHeaders(new { Referer = "https://upay.10010.com/jf_wxgz" })44                                .WithCookies(cookies)45                                .GetAsync();46                for (int i = 0; i < needCodeResponse.Cookies.Count; i++)47                {48                    cookies.AddOrReplace(needCodeResponse.Cookies[i]);49                }50                var nedCode =await needCodeResponse.GetStringAsync();51                var aliToken = ""; 52                var aliSessionId = "";53                var aliSig = "";54                if (nedCode.Trim() == "yes")55                {56                    var version = await new BrowserFetcher().DownloadAsync(615489);57                    var browser = await Puppeteer.LaunchAsync(new LaunchOptions58                    {59                        Headless = false,60                        Args = new string[]61                        {62                        "--no-sandbox",63                        "--disable-setuid-sandbox"64                        },65                        ExecutablePath = version.ExecutablePath,66                        Devtools = true67                    });68                    var page = await browser.NewPageAsync();69                    await page.GoToAsync("https://localhost:5001/VerificationCode/index");70                    await page.EvaluateFunctionHandleAsync("() =>{Object.defineProperty(navigator, 'webdriver', {get: () => false});}");71                    await page.EvaluateFunctionOnNewDocumentAsync("() =>{ window.navigator.chrome = { runtime: {},  }; }");72                    await page.EvaluateFunctionOnNewDocumentAsync("() =>{ Object.defineProperty(navigator, 'languages', { get: () => ['en-US', 'en'] }); }");73                    await page.EvaluateFunctionOnNewDocumentAsync("() =>{ Object.defineProperty(navigator, 'plugins', { get: () => [1, 2, 3, 4, 5,6], }); }");74                    Console.WriteLine(await page.EvaluateExpressionAsync("navigator.webdriver"));75                    var slideBtn = await page.WaitForSelectorAsync("#nc_1_n1t", new WaitForSelectorOptions { Timeout = 3 * 1000 });76                    var rect = await slideBtn.BoundingBoxAsync();77                    var left = rect.X + 10;78                    var top = rect.Y + 10;79                    var mouse = page.Mouse;80                    await mouse.MoveAsync(left, top);81                    await page.Touchscreen.TapAsync(left, top);82                    await mouse.DownAsync();83                    var startTime = DateTime.Now;84                    await mouse.MoveAsync(left + 800, top, new PuppeteerSharp.Input.MoveOptions { Steps = 30 });85                    await page.Touchscreen.TapAsync(left + 800, top);86                    Console.WriteLine(DateTime.Now - startTime);87                    await mouse.UpAsync();88                    var success = await page.WaitForSelectorAsync(".yes", new WaitForSelectorOptions { Timeout = 3000 });89                    string content = await page.GetContentAsync();90                    91                    var parser = new HtmlParser();92                    var document = await parser.ParseDocumentAsync(content);93                    aliToken = (document.GetElementById("aliToken") as IHtmlInputElement).GetAttribute("sms");94                    aliSessionId = (document.GetElementById("aliSessionId") as IHtmlInputElement).GetAttribute("sms");95                    aliSig = (document.GetElementById("aliSig") as IHtmlInputElement).GetAttribute("sms");96                }97                var response = await "https://upay.10010.com/npfwap/NpfMob/needdubbo/needDubboCheck?phoneNo=13113075869&amountMoney=200&channelKey=wxgz"98                                    .WithHeaders(new { Referer = "https://upay.10010.com/jf_wxgz" })99                                    .WithCookies(cookies)100                                    .GetStringAsync();101                 var dubbocheck = JsonConvert.DeserializeObject<NeedDubboCheckInput>(response);102                var action = await "https://upay.10010.com/npfwap/NpfMob/mobWapBankCharge/bankChargePayChannel.action"103                                    .WithHeaders(new { Referer = "https://upay.10010.com/jf_wxgz" })104                                    .WithCookies(cookies)105                                    .PostUrlEncodedAsync(new106                                    {107                                        phoneNo = phone,108                                        areaCode = "",109                                        provinceCode = "051",110                                        cityCode = "580",111                                        bussineTypeInput = "0",112                                        payAmount = "200",113                                        numberType = "",114                                        channelType = "307",115                                        channelKey = "wxgz",116                                        bussineType = "06",117                                        netAccount = "",118                                        browserVersion = "",119                                        ticketNew = "ticket",120                                        token = aliToken,121                                        sessionid = aliSessionId,122                                        sig = aliSig,123                                        joinSign = "",124                                        username = "",125                                        state = dubbocheck.Secstate126                                    }).ReceiveString();127                var chargeCheck = await "https://upay.10010.com/npfwap/NpfMob/mobWapBankCharge/wapBankChargeCheck.action"128                                        .WithHeaders(new { Referer = "https://upay.10010.com/jf_wxgz" })129                                        .WithCookies(cookies)130                                        .PostUrlEncodedAsync(new131                                        {132                                            phoneNo = phone,133                                            areaCode = "",134                                            provinceCode = "051",135                                            cityCode = "580",136                                            bussineTypeInput = "0",137                                            payAmount = 200,138                                            cardValue = "20000",139                                            cardValueCode = "10",140                                            userChooseMode = "0",141                                            reserved1 = false,142                                            numberType = "",143                                            channelType = 307,144                                            channelKey = "wxgz",145                                            bussineType = "06",146                                            netAccount = "",147                                            payMethod = "",148                                            internetThingsNumberFlag = "0",149                                            pointNumber = "",150                                            browserVersion = "",151                                            activityType = "",152                                            offerate = "1",153                                            offerateId = "",154                                            orgCode = "03",155                                            channelCode = "alipaywap",156                                            emergencyContact = "",157                                            ticketNo = "",158                                            reserved2 = "",159                                            ticketNew = "ticket",160                                            numberAttribution = "",161                                            urlSign = "",162                                            msgTimeStamp = "",163                                            serviceNo = "",164                                            natCode = "",165                                            saleChannel = "null",166                                            deviceId = "null",167                                            model = "null",168                                            vipCode = "",169                                            joinSign = "",170                                            presentActivityId = "",171                                            sinoUnionShortAddr = "",172                                            token = aliToken,173                                            sessionid = aliSessionId,174                                            sig = aliSig,175                                            state = dubbocheck.Secstate176                                        }).ReceiveJson<NeedDubboCheckInput>();177                var result = await "https://upay.10010.com/npfwap/NpfMob/mobWapBankCharge/wapBankChargeSubmit.action"178                                .WithHeaders(new { Referer = "https://upay.10010.com/jf_wxgz" })179                                .WithCookies(cookies)180                                .PostUrlEncodedAsync(new181                                {182                                    state = chargeCheck.Secstate,183                                    phoneNo = phone,184                                    provinceCode = "051",185                                    browserVersion = "",186                                    channelKey = "wxgz",187                                    ticketNew = "ticket"188                                }).ReceiveString();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)");...

Full Screen

Full Screen

WebScraper.cs

Source:WebScraper.cs Github

copy

Full Screen

...140        /// <summary>141        /// Simulates key presses on page.142        /// </summary>143        /// <param name="text">Text to send to page.</param>144        public void SendKeys(string text)145        {146            SendKeysAsync(text).Wait();147        }148        private async Task SendKeysAsync(string text)149        {150            await m_page.Keyboard.TypeAsync(text);151        }152        /// <summary>153        /// Simulates moving the mouse on the page.154        ///155        /// Note: this does not move the system mouse.156        /// </summary>157        /// <param name="x">X coordinates to move mouse to.</param>158        /// <param name="y">Y coordinates to move mouse to.</param>159        public void MoveMouse(decimal x, decimal y)160        {161            MoveMouseAsync(x, y).Wait();162        }163        private async Task MoveMouseAsync(decimal x, decimal y)164        {...

Full Screen

Full Screen

Program.cs

Source:Program.cs Github

copy

Full Screen

...60// also means to increment the row count by 1 to read next word61    for (var i = 1; i < 7; i++)62    {63        await page.TypeAsync("body > game-app", currentWord);64        await page.Keyboard.PressAsync(Key.Enter);65        await Task.Delay(1500); // delay to allow the word to be typed and get the colors of the word66        for (var j = 1; j < 6; j++)67        {68            var rgb = await Helper.GetColor(page, i, j);69            await Task.Delay(100);70            colors.Add(Helper.ParseRgb(rgb));71        }72        output.Addrow(currentWord, colors);73        // dark and non-dark mode   74        if (!colors.All(c => c is "ff538d4e" or "ff6aaa64"))75            GetNextWord();76        else77        {78            completed = true;79            attempt = i;80            break;81        }82        colors.Clear();83    }84//await Task.Delay(1000);85    if (completed)86    {87        output.OutputInAscii($"{Helper.GetAppreciation(attempt - 1)}!");88    }89    else90    {91        AnsiConsole.Write(new Markup($"[bold red]Could not find the word[/]"));92        WriteLine();93        var wordleOfTheDay = await Helper.GetWordleSln(page);94        AnsiConsole.Write(new Markup($"[bold yellow]Solution[/] [bold green]{wordleOfTheDay}[/]"));95    }96    await page.CloseAsync();97    void GetNextWord()98    {99        for (var i = 0; i < colors.Count; i++)100        {101            var c = Helper.EvalColorCode(colors[i]);102            var cl = currentWord[i];103            switch (c)104            {105                case 'c':106                    wordle.Correct[i] = cl;107                    break;108                case 'a' when !wordle.Correct.Contains(cl)109                              && !wordle.Absent.Contains(cl):110                    wordle.Absent.Add(cl);111                    break;112                case 'p':113                {114                    if (!wordle.Present.ContainsKey(cl))115                        wordle.Present.Add(cl, new List<int> {i});116                    else117                        wordle.Present[cl].Add(i);118                    break;119                }120            }121        }122        var wordIsGuessed = false;123        var count = 0;124        while (!wordIsGuessed && count++ < 12792)125        {126            wordIsGuessed = wordle.TryGetNextWord(out currentWord);127            // WriteLine($"{count++}:{currentWord}");128        }...

Full Screen

Full Screen

BaseAuthUIFixture.cs

Source:BaseAuthUIFixture.cs Github

copy

Full Screen

...48                if(OperatingSystem.IsWindows())49                    await Page.ConfirmScreenshot(screensName).ConfigureAwait(false);50                response.Url.Should().Contain("login.microsoftonline.com");51                await Page.WaitForSelectorAsync("input[name='loginfmt']").ConfigureAwait(false);52                await Page.Keyboard.SendCharacterAsync(TestGoodUserName).ConfigureAwait(false);53                await Page.Keyboard.PressAsync(Key.Enter).ConfigureAwait(false);54                await Page.WaitForSelectorAsync("input[name='passwd']:not(.moveOffScreen)").ConfigureAwait(false);55                await Page.Keyboard.SendCharacterAsync(TestPassword).ConfigureAwait(false);56                await Page.Keyboard.PressAsync(Key.Enter).ConfigureAwait(false);57                await Page.WaitForSelectorAsync("input[id='idSIButton9']").ConfigureAwait(false); ;58                Thread.Sleep(delay);59                if (OperatingSystem.IsWindows())60                    await Page.ConfirmScreenshot(screensName).ConfigureAwait(false);61                await Page.Keyboard.PressAsync(Key.Enter).ConfigureAwait(false);62                await Page.GoToAsync(AuthUrl, options: new NavigationOptions { WaitUntil = new[] { WaitUntilNavigation.Networkidle0 } }).ConfigureAwait(false);63                //response = await page.WaitForNavigationAsync().ConfigureAwait(false);64                Authorized = true;65            }66            else67            {68                response = await Page.GoToAsync(AuthUrl).ConfigureAwait(false); ;69            }70            return response;71        }72    }73}...

Full Screen

Full Screen

PageObjects.cs

Source:PageObjects.cs Github

copy

Full Screen

...19        {20            var input = await SearchInput;21            if (await input.IsHiddenAsync()) await Page.ClickAsync(".octicon-three-bars");22            await input.TypeAsync(text);23            await input.PressAsync(Key.Enter);24            return await Page.WaitForNavigationAsync<GitHubSearchPage>();25        }26    }27    public class GitHubSearchPage : PageObject28    {29        [Selector(".repo-list-item")]30        public virtual Task<GitHubRepoListItem[]> RepoListItems { get; }31    }32    public class GitHubRepoListItem : ElementObject33    {34        [Selector("a")]35        public virtual Task<ElementHandle> Link { get; }36        [Selector("p")]37        public virtual Task<ElementHandle> Text { get; }...

Full Screen

Full Screen

ConcurrentBrowserActivities.cs

Source:ConcurrentBrowserActivities.cs Github

copy

Full Screen

...18        TraceWriter log19        )20        {21            var url = ctx.GetInput<string>();22            var asm = Assembly.Load("Microsoft.Extensions.Options, Culture=neutral, PublicKeyToken=adb9793829ddae60");23            PuppeteerSharp.Browser browser = null;24            try25            {26                browser = await Puppeteer.ConnectAsync(new ConnectOptions { BrowserWSEndpoint = Constants.BrowserWSEndpoint });27                var page = await browser.NewPageAsync();28                await page.GoToAsync(url, new NavigationOptions { Timeout = 4000 });29            }30            catch (Exception ex)31            {32                return ex.Message;33            }34            finally35            {36                if (browser != null)...

Full Screen

Full Screen

KeyboardPressFunction.cs

Source:KeyboardPressFunction.cs Github

copy

Full Screen

2using PuppeteerSharp;3using PuppeteerSharp.Input;4namespace Ertis.Scraper.Interactions5{6	public class KeyboardPressFunction : FunctionBase, IInteractionFunction7	{8		#region Properties9		public override string Name => "keypress";10		protected override FunctionParameter[] DefaultParameters11		{12			get13			{14				return new FunctionParameter[]15				{16					new FunctionParameter<string>17					{18						Name = "key"19					},20					new FunctionParameter<int?>21					{22						Name = "delay"23					}24				};25			}26		}27		#endregion28		#region Methods29		public async Task ExecuteAsync(Page page)30		{31			var key = this.GetParameterValue<string>("key");32			var delay = this.GetParameterValue<int?>("delay");33			var pressOptions = delay != null ? new PressOptions { Delay = delay.Value } : null;34			await page.Keyboard.PressAsync(key, pressOptions);35		}36		#endregion37	}38}...

Full Screen

Full Screen

Key

Using AI Code Generation

copy

Full Screen

1using PuppeteerSharp.Input;2using PuppeteerSharp.Input;3using PuppeteerSharp.Input;4using PuppeteerSharp.Input;5using PuppeteerSharp.Input;6using PuppeteerSharp.Input;7using PuppeteerSharp.Input;8using PuppeteerSharp.Input;9using PuppeteerSharp.Input;10using PuppeteerSharp.Input;11using PuppeteerSharp.Input;12using PuppeteerSharp.Input;13using PuppeteerSharp.Input;14using PuppeteerSharp.Input;15using PuppeteerSharp.Input;16using PuppeteerSharp.Input;17using PuppeteerSharp.Input;18using PuppeteerSharp.Input;19using PuppeteerSharp.Input;20using PuppeteerSharp.Input;21using PuppeteerSharp.Input;22using PuppeteerSharp.Input;

Full Screen

Full Screen

Key

Using AI Code Generation

copy

Full Screen

1var key = new PuppeteerSharp.Input.Key();2await page.Keyboard.DownAsync(key.Escape);3await page.Keyboard.UpAsync(key.Escape);4var key = new PuppeteerSharp.Input.Key();5await page.Keyboard.DownAsync(key.Escape);6await page.Keyboard.UpAsync(key.Escape);7var key = new PuppeteerSharp.Input.Key();8await page.Keyboard.DownAsync(key.Escape);9await page.Keyboard.UpAsync(key.Escape);10var key = new PuppeteerSharp.Input.Key();11await page.Keyboard.DownAsync(key.Escape);12await page.Keyboard.UpAsync(key.Escape);13var key = new PuppeteerSharp.Input.Key();14await page.Keyboard.DownAsync(key.Escape);15await page.Keyboard.UpAsync(key.Escape);16var key = new PuppeteerSharp.Input.Key();17await page.Keyboard.DownAsync(key.Escape);18await page.Keyboard.UpAsync(key.Escape);19var key = new PuppeteerSharp.Input.Key();20await page.Keyboard.DownAsync(key.Escape);21await page.Keyboard.UpAsync(key.Escape);22var key = new PuppeteerSharp.Input.Key();23await page.Keyboard.DownAsync(key.Escape);24await page.Keyboard.UpAsync(key.Escape);25var key = new PuppeteerSharp.Input.Key();26await page.Keyboard.DownAsync(key.Escape);27await page.Keyboard.UpAsync(key.Escape);28var key = new PuppeteerSharp.Input.Key();29await page.Keyboard.DownAsync(key.Escape);30await page.Keyboard.UpAsync(key.Escape);31var key = new PuppeteerSharp.Input.Key();32await page.Keyboard.DownAsync(key.Escape);33await page.Keyboard.UpAsync(key.Escape);34var key = new PuppeteerSharp.Input.Key();35await page.Keyboard.DownAsync(key.Escape);36await page.Keyboard.UpAsync(key.Escape);

Full Screen

Full Screen

Key

Using AI Code Generation

copy

Full Screen

1using PuppeteerSharp.Input;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.WaitForSelectorAsync("input[name='q']");13            await page.TypeAsync("input[name='q']", "puppeteer-sharp");14            await page.Keyboard.DownAsync(Key.Enter);15            await page.WaitForNavigationAsync();16            await page.ScreenshotAsync("google.png");17            await browser.CloseAsync();18        }19    }20}21await page.Keyboard.PressAsync(“Enter”);22await page.Keyboard.PressAsync(“\r”);23System.InvalidOperationException: ‘Specified argument was out of the range of valid values. (Parameter ‘key’)’24await page.Keyboard.PressAsync(“\r25”);26System.InvalidOperationException: ‘Specified argument was out of the range of valid values. (Parameter ‘key’)’27await page.Keyboard.PressAsync(“\u000d”);28System.InvalidOperationException: ‘Specified argument was out of the range of valid values. (Parameter ‘key’)’29await page.Keyboard.PressAsync(“\u000d\u000a”);30System.InvalidOperationException: ‘Specified argument was out of the range of valid values. (Parameter ‘key’)’31await page.Keyboard.PressAsync(“\u000a”);

Full Screen

Full Screen

Key

Using AI Code Generation

copy

Full Screen

1var key = new Key();2var keyboard = new Keyboard();3var mouse = new Mouse();4var page = new Page();5var puppeteer = new Puppeteer();6var request = new Request();7var response = new Response();8var target = new Target();9var targetChangedArgs = new TargetChangedArgs();10var targetCreatedArgs = new TargetCreatedArgs();11var targetDestroyedArgs = new TargetDestroyedArgs();12var timeoutSettings = new TimeoutSettings();13var viewPortOptions = new ViewPortOptions();14var waitTask = new WaitTask();15var waitForSelectorOptions = new WaitForSelectorOptions();16var waitForSelectorOptions1 = new WaitForSelectorOptions();17var waitForSelectorOptions2 = new WaitForSelectorOptions();18var waitForSelectorOptions3 = new WaitForSelectorOptions();19var waitForSelectorOptions4 = new WaitForSelectorOptions();20var waitForSelectorOptions5 = new WaitForSelectorOptions();21var waitForSelectorOptions6 = new WaitForSelectorOptions();22var waitForSelectorOptions7 = new WaitForSelectorOptions();

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Puppeteer-sharp automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful