如何按;ALT+;S";在SeleniumWebDriver中使用Java
我需要使用Selenium Web驱动程序为``EditBox发送如何按;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
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键。