为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUWWW 2019-10-12 11:07:53
如何使用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();
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

执行“鼠标悬停”操作是不可能的,相反,您需要一次完成所有要实现的操作。所以移动到显示其他元素的元素,然后在相同的链中,移动到现在显示的元素,然后单击它。

在使用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();




查看完整回答
反对 回复 2019-10-13
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

基于这,这个我的博客文章使用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);



查看完整回答
反对 回复 2019-10-13
  • 3 回答
  • 0 关注
  • 386 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信