一尘不染

如何使用Java在Selenium WebDriver中执行鼠标悬停功能?

java

我想在下拉菜单上执行鼠标悬停功能。当我们将鼠标悬停在菜单上时,它将显示新选项。我试图使用xpath单击新选项。但是不能直接单击菜单。因此,作为手动方式,我尝试将鼠标悬停在下拉菜单上,然后单击新选项。

Actions action = new Actions(webdriver);
WebElement we = webdriver.findElement(By.xpath("//html/body/div[13]/ul/li[4]/a"));
action.moveToElement(we).build().perform();

阅读 737

收藏
2020-03-07

共1个答案

一尘不染

实际上不可能执行“鼠标悬停”动作,而是需要一次性链接所有要实现的动作。因此,移至显示其他元素的元素,然后在同一链中,移至现在显示的元素,然后单击它。

使用动作链时,必须记住要“像用户那样做”。

Actions action = new Actions(webdriver);
WebElement we = webdriver.findElement(By.xpath("html/body/div[13]/ul/li[4]/a"));
action.moveToElement(we).moveToElement(webdriver.findElement(By.xpath("/expression-here"))).click().build().perform();
2020-03-07