在selenium webdriver中运行moveToElement()方法时出错?

时间:2017-03-01 12:00:21

标签: java eclipse selenium selenium-webdriver

我对selenium很新,当我在Eclipse(Java)中为Selenium WebDriver运行下面的代码时,我遇到了这个例外:

  

“线程中的异常”主“   org.openqa.selenium.UnsupportedCommandException:mouseMoveTo“

以下是代码:

    WebDriver driver = new FirefoxDriver();
    driver.get("http://newtours.demoaut.com/");
    WebElement myElement = driver.findElement(By.cssSelector("input[name=userName]"));

    Actions myAction = new Actions(driver);
    myAction.moveToElement(myElement)
        .click()
        .keyDown(myElement, keys.SHIFT)
        .sendKeys(myElement, "test")
        .keysUp(myElement, keys.SHIFT)
        .(myElement)
        .contextClick()
        .build()
        .perform();

导致此错误的原因是什么?

谢谢和问候。

3 个答案:

答案 0 :(得分:5)

新版本的FirefoxDriver存在一个已知问题,即GeckoDriver,它不支持Action类,请参阅:

Selenium web driver moveToElement (Actions) throwing error with marionette driver?

https://github.com/SeleniumHQ/selenium/issues/3348

没有更多信息我会假设这也是你的问题。如果您需要使用FF进行测试,请使用旧版本或使用ChromeDriver的Chrome

答案 1 :(得分:3)

请尝试以下xpath:

说明:您的input标记,父标记为table,因此请使用xpath标记启动table,然后继续使用{{ 1}}关键字following代码。

input

答案 2 :(得分:1)

说明:您的cssSelector不正确,请使用单引号作为属性值。

driver.findElement(By.cssSelector("input[name='userName']"));