小编Flo*_* K.的帖子

Selenium ChromeDriver C#-如何发送快捷方式浏览器

如何使用Selenium发送Chrome快捷方式?我的意思是像Ctrl+ SCtrl+ TCtrl+ P这样的快捷方式与WebElements无关。我在那里读了很多类似的问题,但是没有建议的解决方案对我有用。

假设我想在浏览器中打开一个新标签(Ctrl+ T),我尝试了以下所有代码,但均未成功:

  1. “标准”方式:

    IWebElement body = myDriver.FindElement(By.TagName("body"));
    body.SendKeys(Keys.Control + "t");
    
    Run Code Online (Sandbox Code Playgroud)
  2. 动作方式:

    Actions action = new Actions(myDriver);
    action.SendKeys(Keys.Control + "t").Build().Perform();
    
    Run Code Online (Sandbox Code Playgroud)
  3. ChromeDriver方法1:

    if(myDriver is ChromeDriver)
    {
        ChromeDriver chromeDriver = myDriver as ChromeDriver;
        chromeDriver.Keyboard.SendKeys(Keys.Control + "t");
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. ChromeDriver方法2:

    ChromeDriver chromeDriver = myDriver as ChromeDriver;
    chromeDriver.Keyboard.PressKey(Keys.Control);
    chromeDriver.Keyboard.PressKey("t");
    chromeDriver.Keyboard.ReleaseKey(Keys.Control);
    chromeDriver.Keyboard.ReleaseKey("t");
    
    Run Code Online (Sandbox Code Playgroud)

请注意,我提到的第一种方法适用于Chrome以外的其他WebDriver。我用 :

  • 硒3.0.1
  • ChromeDriver 2.27.440174

我的驱动程序的初始化实际上是非常基本的:

ChromeOptions options = new ChromeOptions();
this.myDriver = new ChromeDriver(/* my path */, options); …
Run Code Online (Sandbox Code Playgroud)

.net c# selenium automated-tests selenium-chromedriver

5
推荐指数
1
解决办法
2043
查看次数