在Selenium 2.2中单击上下文

本文关键字:上下文 单击 Selenium | 更新日期: 2023-09-27 18:04:35

在Selenium 2 (http://code.google.com/p/selenium/wiki/AdvancedUserInteractions)中使用高级用户交互API打开自定义上下文菜单时遇到问题。

下面是c#代码:
var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.flickr.com/photos/davidcampbellphotography/4581594452/");
IWebElement photoDiv = driver.FindElement(By.Id("photo"));
Actions actions = new Actions(driver);
var context = actions.ContextClick(photoDiv).Build();
context.Perform();

这段代码仍然没有打开上下文菜单,只是简单地点击图像。

还有许多其他的交互工作得很好,就像这篇博文。

我在Windows XP上使用Firefox 5, Selenium版本2.2。

提前感谢你对如何使它工作的任何建议。

更新:然而,这里的代码做了同样的事情(左键单击而不是上下文单击)。

ILocatable loc = (ILocatable)photoDiv;
IMouse mouse = ((IHasInputDevices)driver).Mouse;
mouse.ContextClick(loc.Coordinates);
mouse.MouseMove(loc.Coordinates, 15, 15);

看起来像个bug

在Selenium 2.2中单击上下文

你是否尝试过使用机器人点击,虽然它们不是最有效的方式,但只要浏览器窗口是顶部窗口,它就会点击你设置的坐标

    Robot robot = new Robot();
    robot.mouseMove(650, 590);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);

也许这对你有帮助:-)

似乎就是这个bug。在这里的用户组中有说明,尽管这个bug是关于双击的。