1

我需要ALT+S使用 Selenium Web 驱动程序为“EditBox. 光标位置已设置为 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 中无法正常运行

4

3 回答 3

2

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

另一种可能有效的变体。

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

作为解决方法,我可能会建议您查看 AutoIT(官方网站)或 Robot(Java Doc

于 2012-12-06T09:02:45.983 回答
1

试试这个。应该可以吧,虽然没试过

driver.findElement(By.xpath("your editbox's XPath"))
      .sendKeys(Keys.chord(Keys.ALT + Keys.S));
于 2012-12-11T16:25:30.490 回答
1

您可以通过使用 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());
    }
于 2015-06-10T12:44:22.807 回答