如何使用C#Selenium发送键盘快捷键Ctrl SHIFT U(热键)?

时间:2018-09-06 05:41:04

标签: c# google-chrome selenium-webdriver keypress hotkeys

我正在使用Wave工具进行辅助功能测试。我已经在wave工具中将Ctrl + Shift + U设置为打开/关闭Wave扩展的切换选项。

我正在导航到Google网站,然后想通过按Ctrl + Shift + U打开扩展名。 我尝试了许多不同的选择,但是没有一个适合我。 (扩展名未打开。)

下面是代码段:

    driver.Navigate().GoToUrl("chrome://extensions/shortcuts");

    // Navigating to the Google homepage.
    driver.Navigate().GoToUrl("http://www.google.pl");

    //Option 1 : 
   Actions(driver).KeyDown(Keys.Control).KeyDown(Keys.Shift).SendKeys("U").KeyUp(Keys.Alt).KeyUp(Keys.Shift).Perform();

    //Option 2:

    driver.FindElement(By.TagName("body")).SendKeys(Keys.Control + Keys.Shift + "u");

   //Option 3:
    new Actions(driver).KeyDown(Keys.Control).KeyDown(Keys.Shift).SendKeys("U").Build().Perform();

   //Option 4:
    new Actions(driver).KeyDown(Keys.Control).KeyDown(Keys.Shift).SendKeys("U").KeyUp(Keys.Control).KeyUp(Keys.Shift).Build().Perform();

网络浏览器:Chrome。

2 个答案:

答案 0 :(得分:1)

这对我来说在C#中是有效的

IWebElement myElement = driver.FindElement(By.XPath("//myPath"));
myElement.SendKeys(Keys.Control + Keys.Enter); 

答案 1 :(得分:0)

您是否必须通过Selenium发送击键?您是否尝试过仅从SendKeys发送带有System.Windows.Forms的组合键?

那会是这样的:

SendKeys.Send("^+{U}");