[英]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.