2011-12-18 66 views

回答

8

按Madd0g,java代碼應該是這樣的:

Actions shiftClick = new Actions(driver); 
    shiftClick.keyDown(Keys.SHIFT).click(element).keyUp(Keys.SHIFT).perform(); 
10

嗯..我不太確定有關Java,但在C#這是與ActionBuilder做 -

new Actions(Browser).KeyDown(Keys.Shift).Click(element).KeyUp(Keys.Shift).Perform(); 
2

發現了它。 http://code.google.com/p/selenium/wiki/AdvancedUserInteractions

final WebElement button = driver.findElement(By.id("button")); 
    Actions actions = new Actions(driver); 
    if (ctrlKey) { 
     actions = actions.keyDown(Keys.CONTROL); 
    } 
    if (altKey) { 
     actions = actions.keyDown(Keys.ALT); 
    } 
    if (shiftKey) { 
     actions = actions.keyDown(Keys.SHIFT); 
    } 
    actions = actions.click(button); 

現在,只要它真的有效。

+0

有沒有'執行()'方法?我認爲應該有。另外,我相信你負責釋放修改鍵(所以你還需要'keyUp()') – Madd0g 2011-12-19 12:08:44

+0

我正在運行的實際代碼有ups和執行。 – bmargulies 2011-12-19 15:34:52

+0

FF8和Chrome的驅動程序顯然存在問題,這正是我所反對的。 – bmargulies 2011-12-19 15:35:15

相關問題