例外:Key Down / Up事件仅对修饰键有意义

时间:2018-05-21 15:16:08

标签: java selenium

我正在使用Java Selenium,使用Firefox驱动程序进行测试。

我想将Ctrl + - 发送到我的Firefox浏览器。

这是我的代码:

    Common.myPrint(thisClass + " *** zoomOut ***");
    Actions actionObject = new Actions(driver);
    try {
        actionObject.keyDown(Keys.CONTROL).sendKeys(Keys.CONTROL).keyUp(Keys.SUBTRACT).perform();

        // reset this counter - basis for request counter

        global.variables.dataTotalCount = 0;

        return true;
    } catch (Exception e) {
        int errorCode = 1525182195;
        System.err.println(thisClass + " error code: " + errorCode + " Exception: " + e.getMessage());
        return false;
    }

我收到此错误消息:异常:按键向下/向上事件仅对修改键有意义。

这一切都很好,但我怎么能发送Ctrl& - (减少字体大小)

2 个答案:

答案 0 :(得分:1)

尝试和弦方法

String selectkeys= Keys.chord(Keys.CONTROL, Keys.SUBTRACT);

答案 1 :(得分:0)

从广义上讲,您可以使用:

Actions act = new Actions(driver);
act.sendKeys(Keys.chord(Keys.CONTROL, "t"));

除非您使用的是 Chrome驱动程序,否则存在错误,该错误不允许发送某些命令:

这些无效

act.sendKeys(Keys.chord(Keys.CONTROL, "t"));
act.sendKeys(Keys.chord(Keys.CONTROL, "n"));

这项工作:

// open in a new tab
driver.findElement(By.id("linkID")).sendKeys(Keys.chord(Keys.CONTROL, Keys.ENTER));

他们有时会解决该错误,它将再次正常运行 错误轨道:https://bugs.chromium.org/p/chromedriver/issues/detail?id=581