繁体   English   中英

如何使用Java在Selenium WebDriver中按“ALT + S”

[英]How to press “ALT+S” in Selenium WebDriver using Java

我需要使用Selenium Web Driver为``EditBox发送ALT+S Key事件。 光标位置已设置为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( Java Doc

尝试这个。 它可能会奏效,但我没试过

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

你可以通过使用Robot的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());
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM