2011-12-18 28 views

Trả lời

8

Theo Madd0g, mã java sẽ trông như thế này:

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

hmm .. Tôi không chắc chắn chính xác về java, nhưng trong C# này được thực hiện với sự ActionBuilder -

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

Tìm thấy nó. 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); 

Bây giờ, nếu chỉ thực sự hoạt động.

+0

là không có thực() 'phương pháp'? Tôi nghĩ rằng nên có. Ngoài ra, tôi tin rằng bạn chịu trách nhiệm phát hành phím bổ trợ (vì vậy bạn cũng sẽ cần 'keyUp()') – Madd0g

+0

Mã thực tế mà tôi đang chạy có các hoạt động và hiệu suất. – bmargulies

+0

Có vấn đề rõ ràng với các trình điều khiển cho FF8 và Chrome, đó là những gì tôi đang làm việc chống lại. – bmargulies

Các vấn đề liên quan