2011-12-18 9 views

risposta

8

Come da Madd0g, il codice Java sarebbe simile a questa:

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

hmm .. io non sono esattamente sicuro di Java, ma in C# questo è fatto con l'ActionBuilder -

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

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

Ora, se solo funzionasse effettivamente.

+0

non c'è) metodo 'eseguire ('? Penso che dovrebbe esserci. Inoltre, credo che tu sia responsabile del rilascio del tasto modificatore (quindi avrai anche bisogno di 'keyUp()') – Madd0g

+0

Il codice reale che sto utilizzando ha gli alti e il rendimento. – bmargulies

+0

Ci sono chiaramente problemi con i driver per FF8 e Chrome, che è quello contro cui sto lavorando. – bmargulies

Problemi correlati