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);