微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 C# 中等待按键

如何解决在 C# 中等待按键

我有一个 PuppeteerSharp 应用程序,它执行一些基本的浏览器自动化。 申请周期应如下所示:

  1. 启动浏览器 (Chrome)
  2. 获取搜索
  3. 打开网址“google.ch”
  4. 搜索输入中输入搜索
  5. 按回车
  6. 等待任何应用程序中的左箭头键或右箭头键按下(其他按键不应有任何影响)
  7. 如果按下左箭头键,则执行一些逻辑
  8. 否则如果按下右箭头键,则执行一些逻辑

我的问题从第 6 步的步骤开始。我找不到等待左箭头键或右箭头键按下的方法

这是我当前的带有一些伪代码代码,我希望“按键等待”逻辑看起来像:

using System.Threading.Tasks;
using PuppeteerSharp;

namespace GoogleMapsChecker
{
    internal class Program
    {
        private static async Task Main(string[] args)
        {
            // launch browser and save in variable
            var browser = await Puppeteer.LaunchAsync(new LaunchOptions
            {
                Headless = false,ExecutablePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe" // get path to chrome executable
            });

            var page = await browser.NewPageAsync();
            var searchTerm = "searchTerm";

            await page.GoToAsync("https://www.google.ch/");
            await Task.Delay(5000);
            //Click on google search Box
            await page.ClickAsync(".gLFyf");
            await page.Keyboard.SendCharacterasync(searchTerm);
            await page.Keyboard.PressAsync("Enter");

            Wait for KeyPress(LeftArrow || RightArrow)
            {
                if (KeyPress(LeftArrow))
                {
                    //do stuff
                }
                else if (KeyPress(RightArrow))
                {
                    //do other stuff
                }
            }
        }
    }
}

我怎样才能等到按下特定键,然后根据按下的键进一步动作?

更新: 你们中的一些人注意到了针对控制台应用程序的类似问题。我的应用程序是一个控制台应用程序,但即使我的程序不在焦点上,我也想检测按键。我尝试了参考问题的答案,但没有解决我的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。