2012-12-05 64 views
1

我需要發送ALT+S關鍵事件使用Selenium Web Driver作爲EditBox。光標位置已設置爲EditBox我正在使用以下代碼如何在使用Java的Selenium WebDriver中按下「ALT + S」

driver.switchTo().activeElement().sendKeys(Keys.chord(Keys.ALT+"S")) 

但它沒有給我想要的結果。在編輯框中輸入字符'S'。 我已經嘗試了另一個代碼,但得到了相同的結果。

Actions action =new Actions(driver); 
action.keyDown(Keys.ALT).sendKeys(String.valueOf('\u0053')).perform(); 

由於提前

我想在這裏補充一點。該代碼在Firefox 12中正常工作,但在IE9中無法正常工作

回答

2

跨瀏覽器問題很難調查,因爲它們是特定驅動程序而不是WebDriver API。

另一種可能的工作方式。

driver.findElement(By.xpath("your editbox's XPath")).sendKeys(Keys.chord(Keys.ALT, "s")); 

至於解決方法我可能會建議採取一看的AutoIt(Official site)或機器人(Java Doc

1

試試這個。也許工作,我還沒有嘗試過,雖然

driver.findElement(By.xpath("your editbox's XPath")) 
     .sendKeys(Keys.chord(Keys.ALT + Keys.S)); 
0

您可以通過使用機器人類的java實現這一

try{ 
     Robot robot=new Robot(); 
     robot.keyPress(KeyEvent.VK_ALT); 
     Thread.sleep(1000); 
     robot.keyPress(KeyEvent.VK_S); 
     robot.keyRelease(KeyEvent.VK_ALT); 
     robot.keyRelease(KeyEvent.VK_S);   
    } 
    catch(Exception ex){ 
     System.out.println(ex.getMessage()); 
    } 
相關問題