在将 FF9 更新到 FF10 之后,我在使用 Java 绑定在 Windows 7 中使用版本 2.15.0 和 Firefox9 时遇到了这个错误。我尝试按照在线建议禁用本地事件,但没有运气。在网上进一步搜索解决方案后,我将 WebDriver 更新到了 2.17.0 版。问题已解决,我有一段时间没有遇到同样的问题。我再次升级到 WebDriver 的最新版本 2.19.0,问题就解决了。现在我在将 FF10 更新到 11 后面临同样的问题。我升级到 2.20 但问题仍然存在。我如下禁用本机事件,但仍然收到错误消息。
使用 Java:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("webdriver_enable_native_events", false);
driver = new FirefoxDriver(profile);
Stacktrace(当我尝试将鼠标悬停在元素上时):
org.openqa.selenium.InvalidElementStateException: Cannot perform native interaction: Could not load native events component.
Command duration or timeout: 30.07 seconds
Build info: version: '2.20.0', revision: '16008', time: '2012-02-28 15:00:40'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_31'
Driver info: driver.version: RemoteWebDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java: 170)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java: 123)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java: 438)
at org.openqa.selenium.remote.ExecuteMethod.execute(ExecuteMethod.java: 47)
at org.openqa.selenium.remote.RemoteMouse.mouseMove(RemoteMouse.java: 89)
at org.openqa.selenium.interactions.MoveMouseAction.perform(MoveMouseAction.java: 37)
at org.openqa.selenium.interactions.CompositeAction.perform(CompositeAction.java: 32)
at org.openqa.selenium.interactions.Actions.perform(Actions.java:349)
at com.requirementsLive.qa.utility.NavigateHelper.navigate_HoverPageTabs(NavigateHelper.java: 49)
我在 NavigateHelper 中的代码:
WebElement hoverMenu = uiHelper.waitForElementPresent(By.id(tabLocator), 10);
Actions hoverAction = new Actions(this.getDriver());
hoverAction.moveToElement(hoverMenu);
hoverAction.perform(); ------> line that throws the error
我错过了什么吗?webdriver 中是否有对此的永久修复,或者我们是否应该在每次更新 FF 时升级到最新的 webdriver(如果有的话)?(这次升级没用)。
谢谢。