Selenium WebDriver - 如何按住鼠标右键?

时间:2013-11-07 13:36:06

标签: java selenium webdriver selenium-webdriver right-click

使用Selenium 2.0 WebDriver(java),我需要测试一些导航(旋转,平移......)

我需要能够在移动鼠标时按住RIGHT按钮。

同样,我需要能够在移动鼠标的同时按住MIDDLE按钮。

似乎只能使用左手按钮。

Actions actions = new Actions(driver);
actions.clickAndHold().perform();

以下问题,我不是处理任何菜单,按钮,小部件,而是使用像GoogleMap这样的3D环境,我需要使用MIDDLE按钮,RIGHT按钮甚至鼠标滚轮模拟平移,旋转和缩放...

任何帮助?

2 个答案:

答案 0 :(得分:1)

您可以使用机器人类来执行相同的操作。 右键单击使用Button3,中间使用Button2

右键单击代码

Robot robot=new Robot();
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);

中键代码

Robot robot=new Robot();
robot.mousePress(InputEvent.BUTTON2_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON2_DOWN_MASK);

答案 1 :(得分:0)

如果它不是浏览器或Windows菜单,如果它类似于Web上下文菜单,你可以使用下面的代码,它在c#java中必须是类似的

Actions actions = new Actions(WebDriver);
actions.ContextClick(webElement)
                                               .SendKeys(Keys.Down)
                                               .SendKeys(Keys.Down)
                                               .Build()
                                               .Perform();

您可以使用actions.ClickAndHold()actions.MoveToElement()的组合来创建拖动效果,我使用它们来移动门户网站小部件

请告诉我您正在使用的菜单类型