Selenium 2 правой кнопкой мыши - PullRequest
6 голосов
/ 04 ноября 2011

Я использую Selenium 2 (веб-драйвер) под Linux с FireFoxDriver.

Я не могу выполнить щелчок правой кнопкой мыши на веб-элементе или другой возможности с использованием координат. Я также не могу переместить указатель мыши.

Я пытался использовать объект "Действия":

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());

Эти коды не дают ошибок, но они ничего не делают.

Однако, если я выполню обычный щелчок в двух приведенных выше примерах, он будет работать как положено.

Кто-нибудь знает, в чем проблема с этим?

Спасибо.

1 Ответ

2 голосов
/ 24 ноября 2011

Наконец-то я понял проблему.

В Selenium 2 функция contextClick над веб-элементом не имитирует щелчок правой кнопкой мыши по этому элементу, она просто активирует событие onContextMenu (), помещенное вHTML-код элемента.

Так что, если вы хотите получить доступ к такого рода контекстным меню, он должен обрабатываться в HTML-коде.

...