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

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

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

米脂 2019-07-27 11:34:54
如何使用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 回答

?
元芳怎么了

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

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

在使用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-07-27
?
慕森王

TA贡献1777条经验 获得超3个赞

基于这,这个我的博客文章使用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-07-27
  • 3 回答
  • 0 关注
  • 341 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号