Не удается нажать кнопку, используя координаты в последней версии селена 3.0 и FF.

Не удается нажать кнопку, используя координаты в последних версиях селена 3.0 и FF.

Я указываю частичный код, который запускает браузер FF48, открывает страницу входа и пытается нажать кнопку «Войти». Нажатие кнопки с использованием координат отлично работает в Chrome, но не работает в FF.

Окружающая среда:

Browser - FF48 (may be present with previous FF as well)
Selenium - Latest 3.0 beta jar

Works fine in latest Chrome.

Код:

// Launch browser
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
FirefoxProfile profile = new FirefoxProfile();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
capabilities.setCapability("marionette", true);
webDriver =  new FirefoxDriver(capabilities);

// Open login page and click to Sign button
WebElement we = null;
we = driver.findElement(By.cssSelector("css=input.ZLoginButton[value='Sign In']"));

Actions builder = new Actions(webDriver());
Action action = builder.moveToElement(we, 5, 5).click(we).build();
action.perform();

Проблема:

мы возвращаем элемент нормально, но перейти к элементу не удается в FF, тот же код отлично работает в Chrome. Я не думаю, что эта проблема особенно касается FF48 и может присутствовать во всех FF, но интересно, есть ли эта проблема в последней банке selenium 3.0 в отношении перемещения элемента и координат?

Даже он отлично работает напрямую, используя:

we.click();

Но мне нужно щелкнуть элемент, используя координаты, потому что в моем приложении Ajax щелчок по некоторому элементу работает только с координатами, например:

Action action = builder.moveToElement(we, 5, 5).click(we).build();
action.perform();

Кто-нибудь имеет представление о недавней проблеме? Я уверен, что раньше это работало нормально в FF и уже отлично работает в Chrome.

введите здесь описание изображения


person Jitesh Sojitra    schedule 01.09.2016    source источник


Ответы (2)



Через неделю отключаю марионетку (java):

capability.setCapability("marionette", false);

Это ремонт всего. Не спрашивайте меня, почему.

person answer42    schedule 13.06.2017