Selenium Actions.movetoElement - org.openqa.selenium.UnsupportedCommandException

时间:2017-02-13 05:28:49

标签: selenium selenium-webdriver webdriver selenium-firefoxdriver geckodriver

我有一个场景,我必须将鼠标悬停在菜单链接上,然后单击下拉子菜单。我正在使用的代码如下:

public void changeLanguageTest() throws InterruptedException
    {
        WebElement LanguageMenu = driver.findElement(By.cssSelector(".change-language>button"));
        action.moveToElement(LanguageMenu);
        WebElement mongolianLang = driver.findElement(By.cssSelector(".change-language>ol>li:nth-child(3)>a"));
        action.moveToElement(mongolianLang).click().build().perform();
        Thread.sleep(3000L);
    }

但是当我运行此代码时,它失败并显示错误消息: -

  

org.openqa.selenium.UnsupportedCommandException:POST   / session / 3077f893-d9ab-487d-b09f-c5bcd135ea31 / moveto与a不匹配   已知命令

我也尝试了下面提到的代码,但没有成功,也发生了同样的错误。

BaseClass.action.moveToElement(LanguageMenu).moveToElement(mongolianLang).click().build().perform();

我正在使用webdriver v2.53并在FF v47.0.1上运行。

1 个答案:

答案 0 :(得分:2)

由于bug logged here geckodriver尚未实施actions。我们将要实施的行动是目前在W3C WebDriver standard中定义的行动,而不是Selenium的行动。

Selenium表示他们将为行动提供Selenium-to-W3C-WebDriver垫片,但这可能需要一些时间才能完成我们的实施。 geckodriver/Marionette中的实施尚未开始。

作为mentioned here from v0.12.0 of geckodriver,已实施new actions API的路由,但在Marionette中尚未完全实现

您应升级geckodriver