2016-07-30 28 views
4

我想将我的浏览器窗口移动到屏幕的左侧或右侧。手动我会按[WINDOW] + [LeftArrow](或[RightArrow])来实现这一点。C#和硒;可以按Windows键吗?

我读过this one but it's for Java (see comments)但我找不到在使用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. ) 

然后键没有Windows键...

+1

为什么'Keys.LWin'是左徽标键,分别'Keys.RWin'权。 – dlatikay

+0

你原来的方法不错 – MichaelMao

+1

为什么要按下windows键,而你可以简单地使用JavaScript'scrollInToView()'来到达元素? –

回答

4

如果你想去他们SendKeys方法,发送键的组合,其中包括了Windows徽标密钥不直截了当。仅用于Windows徽标密钥的等价物将是Strg + Esc。虽然可以模拟,但是只需打开开始菜单(或者现在在Windows 10中调用它的任何东西),然后再发送一个左箭头。

但是here有一个解决方案。

+0

谢谢!我还没有尝试,但似乎就像我想要的东西!显然我需要努力工作我的谷歌技能,因为我没有找到它自己... – Pierre

+0

现在可以确认它的工作原理,因为我想! :) – Pierre

0

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