C#和Selenium; 可以按Windows键吗?

我想将浏览器窗口移动到屏幕的左侧或右侧。 手动我会按[WINDOW] + [LeftArrow](或[RightArrow])来实现这一点。

我已经阅读过这篇文章,但它是针对Java的(请参阅注释)但是在使用C#时我找不到按Windows键的方法。

我最好的选择似乎是:

driver.Manage().Window.Position = new Point(x-coord, y-coord); driver.Manage().Window.Size = new Size(myWidth,myHeight); 

但似乎有点繁琐,我相信有更好的方法。

我也尝试过:

 Actions action = new Actions(driver); action.SendKeys(Keys. ) 

那么Keys没有windows键……

如果您想使用SendKeys方法,发送包含Windows徽标键的组合键并不简单。 只有Windows徽标键的等价物是Strg + Esc 。 虽然可以模拟,但Strg + Esc + Left只会打开开始菜单(或者他们现在在Windows 10中称之为的任何内容),然后发送另一个左箭头。

但这里有一个解决方案。

dllatikay的回答非常有助于理解事物的运作方式。 我将添加一个工作示例 – 如何在使用Selenium时最大化浏览器窗口:

  // Install-Package InputSimulator in package manager var inputSim = new InputSimulator(); // WinKey + Up maximizes current focused window inputSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.UP);