如何按;ALT+;S";在SeleniumWebDriver中使用Java

如何按;ALT+;S";在SeleniumWebDriver中使用Java,java,selenium-webdriver,webdriver,Java,Selenium Webdriver,Webdriver,我需要使用Selenium Web驱动程序为``EditBox发送ALT+S键事件。光标位置已设置为EditBox,我正在使用以下代码 driver.switchTo().activeElement().sendKeys(Keys.chord(Keys.ALT+"S")) 但这并没有给我想要的结果。它在编辑框中键入字符's'。 我尝试了另一个代码,但得到了相同的结果 Actions action =new Actions(driver); action.keyDown(Keys.ALT).se

我需要使用Selenium Web驱动程序为``EditBox发送
ALT+S
键事件。光标位置已设置为EditBox,我正在使用以下代码

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中运行不正常跨浏览器问题很难调查,因为它们特定于特定的驱动程序,而不是WebDriver API

另一种可能有效的变体

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

作为解决方法,我可能建议您看看AutoIT()或Robot()

跨浏览器问题很难调查,因为它们特定于特定的驱动程序,而不是WebDriver API

另一种可能有效的变体

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

作为解决方法,我可能建议您看看AutoIT()或Robot()

试试这个。这可能有用,但我还没试过

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

试试这个。这可能有用,但我还没试过

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

您可以通过使用java的Robot类来实现这一点

    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());
    }

您可以通过使用java的Robot类来实现这一点

    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());
    }

非常感谢。这个答案实际上是有效的,我还没有找到任何其他方法来模拟Alt键。谢谢!这个答案实际上是有效的,我还没有找到任何其他方法来模拟Alt键。