不能使用最新的3.0 selenium和FF中的坐标点击按钮

时间:2016-09-01 08:20:44

标签: selenium firefox selenium-webdriver webdriver geckodriver

不能使用最新的3.0 selenium和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 jar中的问题是什么?

即使它可以直接使用:

we.click();

但我需要使用坐标单击元素,因为在我的Ajax应用程序中,某些元素单击仅适用于以下内容:

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

有没有人对最近的问题有所了解?我确信这在FF之前工作正常,并且已经在chrome中工作正常。

enter image description here

2 个答案:

答案 0 :(得分:2)

关于不与geckodriver合作的动作类有一个未解决的问题。我们需要等待修复。记录在selenium中的问题 - > https://github.com/SeleniumHQ/selenium/issues/2285

希望这有帮助。

答案 1 :(得分:0)

一周后我禁用牵线木偶(java):

capability.setCapability("marionette", false);

修复一切。不要问我为什么。