登录到项目后,页面上会有两帧。当我尝试使用Robot类移动鼠标时,鼠标不要从一帧移到另一帧。我也使用硒代码将一帧移到另一帧。
部分代码:
driver.switchTo().defaultContent();
driver.switchTo().frame("pageFrame");
GenerateLogFile.logger.info("Click on force auth.");
login.waitForForceAuth();
mouseMoveAction(login.forceAuth());
login.forceAuth().click();
mouseMoveAction 方法:
public void mouseMoveAction(WebElement element) throws AWTException {
Point coordinates = element.getLocation();
Robot robot = new Robot();
robot.mouseMove(coordinates.getX(), coordinates.getY());
}
答案 0 :(得分:1)
您不能混合使用Robot
和Selenium。 Selenium已经具备了模拟鼠标事件所需的一切。最重要的是,许多WebDriver都不会创建任何窗口(它们只是在内部内存区域渲染页面),因此Robot没有任何工作。
在mouseMoveAction()
中尝试以下代码:
new Actions(driver).moveToElement(element);