在java中创建FirefoxDriver时出现java.lang.NoSuchMethodError

时间:2014-09-04 19:51:16

标签: java selenium-webdriver selenium-firefoxdriver

尝试:

WebDriver driver=new FirefoxDriver();

我收到以下错误:

java.lang.NoSuchMethodError: org.openqa.selenium.Proxy.extractFrom(Lorg/openqa/selenium/Capabilities;)Lorg/openqa/selenium/Proxy;
  at org.openqa.selenium.firefox.FirefoxDriver.dropCapabilities(FirefoxDriver.java:313)
  at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:191)
  at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
  at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
  at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)

此问题在ubuntu上的firefox更新到32.0版本后立即启动,我尝试安装版本28.0但仍然没有用。

有什么想法吗? 提前致谢

将驱动程序版本更改为2.39,如 curiosu 所示,新错误显示:

 org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on       port 7055 after 45000 ms. Firefox console output:
pp-system-share:{2e1445b0-2682-11e1-bfc2-0800200c9a66} visible
1409862347400   DeferredSave.extensions.json    DEBUG   Save changes
1409862347400   DeferredSave.extensions.json    DEBUG   Save changes
1409862347405   addons.xpi  DEBUG   Updating database with changes to installed add-ons
1409862347405   addons.xpi-utils    DEBUG   Updating add-on states
1409862347406   addons.xpi-utils    DEBUG   Writing add-ons list
1409862347407   addons.xpi  DEBUG   Registering manifest for /usr/lib/firefox/browser/extensions/langpack-en-ZA@firefox.mozilla.org.xpi
1409862347408   addons.xpi  DEBUG   Registering manifest for /usr/lib/firefox/browser/extensions/langpack-en-GB@firefox.mozilla.org.xpi
1409862347408   addons.xpi  DEBUG   Registering manifest for /usr/lib/firefox/browser/extensions/langpack-ar@firefox.mozilla.org.xpi
1409862348534   DeferredSave.extensions.json    DEBUG   Starting timer
1409862348581   addons.manager  DEBUG   shutdown
1409862348587   DeferredSave.extensions.json    DEBUG   Starting write
1409862348587   addons.xpi  DEBUG   shutdown
1409862348588   addons.xpi-utils    DEBUG   shutdown
1409862348644   DeferredSave.extensions.json    DEBUG   Write succeeded
1409862348644   addons.xpi-utils    DEBUG   XPI Database saved, setting schema version preference to 16
1409862348645   addons.xpi  DEBUG   Notifying XPI shutdown observers
1409862348649   addons.manager  DEBUG   Async provider shutdown done

(process:3519): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(firefox:3519): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised

(firefox:3519): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised

(firefox:3519): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised

(firefox:3519): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised
1409862349347   addons.manager  DEBUG   Loaded provider scope for resource://gre/modules/addons/XPIProvider.jsm: ["XPIProvider"]
1409862349349   addons.manager  DEBUG   Loaded provider scope for resource://gre/modules/LightweightThemeManager.jsm: ["LightweightThemeManager"]
1409862349352   addons.xpi  DEBUG   startup
1409862349354   addons.xpi  INFO    Mapping ubufox@ubuntu.com to /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/ubufox@ubuntu.com
1409862349354   addons.xpi  INFO    Mapping {2e1445b0-2682-11e1-bfc2-0800200c9a66} to /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{2e1445b0-2682-11e1-bfc2-0800200c9a66}
1409862349355   addons.xpi  INFO    Mapping langpack-en-ZA@firefox.mozilla.org to /usr/lib/firefox/browser/extensions/langpack-en-ZA@firefox.mozilla.org.xpi
1409862349355   addons.xpi  INFO    Mapping langpack-en-GB@firefox.mozilla.org to /usr/lib/firefox/browser/extensions/langpack-en-GB@firefox.mozilla.org.xpi
1409862349355   addons.xpi  INFO    Mapping {972ce4c6-7e08-4474-a285-3208198ce6fd} to /usr/lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
1409862349355   addons.xpi  INFO    Mapping langpack-ar@firefox.mozilla.org to /usr/lib/firefox/browser/extensions/langpack-ar@firefox.mozilla.org.xpi
1409862349356   addons.xpi  DEBUG   Ignoring file entry whose name is not a valid add-on ID: /tmp/anonymous3480147629030289426webdriver-profile/extensions/webdriver-staging
1409862349356   addons.xpi  INFO    Mapping fxdriver@googlecode.com to /tmp/anonymous3480147629030289426webdriver-profile/extensions/fxdriver@googlecode.com
1409862349357   addons.xpi  DEBUG   checkForChanges
1409862349363   addons.xpi  DEBUG   No changes found
1409862349367   addons.xpi  DEBUG   Registering manifest for /usr/lib/firefox/browser/extensions/langpack-en-ZA@firefox.mozilla.org.xpi
1409862349367   addons.xpi  DEBUG   Registering manifest for /usr/lib/firefox/browser/extensions/langpack-en-GB@firefox.mozilla.org.xpi
1409862349368   addons.xpi  DEBUG   Registering manifest for /usr/lib/firefox/browser/extensions/langpack-ar@firefox.mozilla.org.xpi
*** Blocklist::_preloadBlocklistFile: blocklist is disabled
   JavaScript error: chrome://browser/content/urlbarBindings.xml, line 677: aUrl is undefined

    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:250)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:112)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:195)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99)

解决方案:我终于设法解决了这个问题,我将selenium webDriver版本从2.42.2更改为2.39.0并将firefox版本从32.0降级到28.0

5 个答案:

答案 0 :(得分:5)

在Windows 7上对FireFox 32和Selenium Firefox Webdriver 2.40.0的更新有同样的异常。我会在这里发布我的解决方案,也许它不会解决你的问题,但它可能是其他人的解决方案同样的问题,谁在搜索后降落在这里。

selenium-remote-driver以某种方式未正确更新,而selenium-firefox-driver的POM文件中存在<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-firefox-driver</artifactId> <version>2.43.1</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> <version>2.43.1</version> </dependency> 。我的解决方案是将远程驱动程序添加到我自己的POM中:

{{1}}

我不得不重启我的IDE(IntelliJ)并重建项目,但之后就可以了。

最终配置:

  • FireFox 32.0.3
  • Selenium FireFox驱动程序2.43.1
  • Selenium Remote驱动程序2.43.1

答案 1 :(得分:0)

两者之间存在兼容性问题。简单的方法是找到一个与ubuntu 32.0兼容的版本

答案 2 :(得分:0)

尝试使用旧版 FirefoxDriver

将较旧的FirefoxDriver(例如:2.39)与Firefox 32一起使用。

答案 3 :(得分:0)

请尝试使用较旧的FF版本。目前我也观察到这样的问题FF使用最新的selenium构建没有32但是在将更改恢复到旧版本之后我的问题得到了成功解决。

答案 4 :(得分:0)

如果在导入罐子后第一次执行硒代码

右键单击项目 - &gt;构建路径 - &gt;配置构建路径...-&gt;订单和导出 - >获取selenium java,服务器独立罐,就在JRE库下面 - &gt;确定

重新执行代码,它会起作用。