如何使用Java在SeleniumWebDriver中执行鼠标切换功能?

如何使用Java在SeleniumWebDriver中执行鼠标切换功能?

我想在下拉菜单上做鼠标操作。当我们悬停在菜单上时,它会显示新的选项。我尝试使用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();


慕娘9325324
浏览 732回答 3
3回答

月关宝盒

执行“鼠标悬停”操作是不可能的,相反,您需要一次完成所有要实现的操作。所以移动到显示其他元素的元素,然后在相同的链中,移动到现在显示的元素,然后单击它。在使用ActionChain时,您必须记住‘像用户那样做’。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();

繁花如伊

基于这,这个我的博客文章使用Selenium2Webriver使用以下代码触发了悬停:String javaScript = "var evObj = document.createEvent('MouseEvents');" +                     "evObj.initMouseEvent(\"mouseover\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +                     "arguments[0].dispatchEvent(evObj);";((JavascriptExecutor)driver).executeScript(javaScript, webElement);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java