当页面中出现两个帧时如何移动物理鼠标

时间:2019-04-02 07:32:37

标签: java selenium-webdriver

登录到项目后,页面上会有两帧。当我尝试使用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());
}

1 个答案:

答案 0 :(得分:1)

您不能混合使用Robot和Selenium。 Selenium已经具备了模拟鼠标事件所需的一切。最重要的是,许多WebDriver都不会创建任何窗口(它们只是在内部内存区域渲染页面),因此Robot没有任何工作。

mouseMoveAction()中尝试以下代码:

new Actions(driver).moveToElement(element);