我需要使用Selenium Web Driver为``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中无法正常工作
答案 0 :(得分:2)
跨浏览器问题很难调查,因为它们特定于特定驱动程序而非WebDriver API。
可能有效的另一种变体。
driver.findElement(By.xpath("your editbox's XPath")).sendKeys(Keys.chord(Keys.ALT, "s"));
作为解决方法,我可能会建议您查看AutoIT(Official site)或Robot(Java Doc)
答案 1 :(得分:1)
试试这个。它可能有用,我还没试过
driver.findElement(By.xpath("your editbox's XPath"))
.sendKeys(Keys.chord(Keys.ALT + Keys.S));
答案 2 :(得分:1)
您可以使用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());
}