2011-11-04 91 views
6

我在Linux下使用Selenium 2(Web Driver)和FireFoxDriver。Selenium 2右键单击

我无法使用坐标对WebElement或其他位置执行右键单击。我也无法移动鼠标指针。

我曾尝试使用“操作”对象:

Actions actions = new Actions(ffDriver); 
WebElement we = ffDriver.findElement(By.linkText("WhatEver")) 
actions.contextClick(we).build().perform(); 

我还试图用“鼠标”对象:

Mouse mouse = ((HasInputDevices)ffDriver).getMouse(); 
mouse.contextClick(we.getCoordinates()); 

这些代码不会失败,但他们不什么都不做。

但是,如果我在上面的两个示例中执行常规点击,则按预期工作。

有人知道这有什么问题吗?

谢谢。

+0

有没有人对这个问题的解决方案的想法? –

回答

2

终于我明白了这个问题。

在Selenium 2上,web元素上的“contextClick”函数不会模拟右键单击到该元素,它只是激活放置在元素HTML代码中的“onContextMenu()”事件。

所以,如果你想访问那种上下文菜单,它应该在HTML代码上处理。