我正在尝试使用Selenium运行自动化脚本,并且在此脚本中,Robot类的mouseMove方法已用于将鼠标光标移动到特定位置。当我从eclipse运行这个脚本作为Java应用程序或使用tomcat(这个脚本是大型框架的一部分,它部署在tomcat上)时,它运行正常。
但是如果我将tomcat作为Windows服务运行,则相同的代码无效。服务器日志中没有错误,但鼠标光标没有移动。如果有人知道这个问题的解决方案,请告诉我。
以下是脚本中的代码行,当tomcat作为Windows服务运行时,它们不会产生任何结果:
WebElement element = driver.findElement(By.id("headerForm:j_id26"));
Actions builder = new Actions(driver);
builder.click(element).build().perform();
Point mousePt = element.getLocation();
int x = (int) mousePt.getX();
int y = (int) mousePt.getY();
Robot robot = new Robot();
robot.mouseMove(x+100, y+110);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);