简体   繁体   English

如何从 Robot 类中按 ENTER 键?

[英]How to press ENTER key from Robot class?

I have created a method to click a specific addon from firefox toolbar and everything is working fine on Windows os.我创建了一种方法来从 Firefox 工具栏中单击特定插件,并且在 Windows 操作系统上一切正常。 But when I try to perform the same action from Jenkins server that is using a Linux machine it can not perform the robot.keyPress(KeyEvent.VK_Enter).但是当我尝试从使用 Linux 机器的 Jenkins 服务器执行相同的操作时,它无法执行 robots.keyPress(KeyEvent.VK_Enter)。

    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_L);
    robot.keyRelease(KeyEvent.VK_L);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    Thread.sleep(2000);

    //move to addons
    Robot robot1 = new Robot();
    robot1.keyPress(KeyEvent.VK_TAB);
    robot1.keyRelease(KeyEvent.VK_TAB);
    Thread.sleep(1000);
    robot1.keyPress(KeyEvent.VK_TAB);
    robot1.keyRelease(KeyEvent.VK_TAB);
    Thread.sleep(1000);

    //move to simple-modify-header addon
    Robot robot3 = new Robot();
    robot3.keyPress(KeyEvent.VK_RIGHT);
    robot3.keyRelease(KeyEvent.VK_RIGHT);
    Thread.sleep(2000);
    robot3.keyPress(KeyEvent.VK_RIGHT);
    robot3.keyRelease(KeyEvent.VK_RIGHT);
    Thread.sleep(2000);
    robot3.keyPress(KeyEvent.VK_RIGHT);
    robot3.keyRelease(KeyEvent.VK_RIGHT);
    Thread.sleep(2000);
    robot3.keyPress(KeyEvent.VK_RIGHT);
    robot3.keyRelease(KeyEvent.VK_RIGHT);
    Thread.sleep(2000);


    //click simple-modify-header addon
    Robot robot2 = new Robot();
    robot2.keyPress(KeyEvent.VK_ENTER);
    robot2.keyRelease(KeyEvent.VK_ENTER);
    Thread.sleep(1000);

I tried using different robot instances, but it is still stucking on pressin ENTER.我尝试使用不同的机器人实例,但它仍然停留在按 ENTER 键。 在此处输入图片说明

This worked fine for me:这对我来说很好:

public static void robotDoEnter()
    {
        try {
            Robot robot = new Robot();
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.delay(300);
            robot.keyRelease(KeyEvent.VK_ENTER);
            robot.delay(300);
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }

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

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