2016-07-30 31 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);