火狐56.0是不是开放使用Selenium 3.7与壁虎驱动0.19
问题描述:
我想打开火狐56与Selenium 3.7发布日期为2017年11月2日,我的Win 8.1的路径也设置在环境变量too.I获取NoClassDefFoundError火狐56.0是不是开放使用Selenium 3.7与壁虎驱动0.19
错误截图:https://snag.gy/mI23xp.jpg
版本信息: 的Java 1.8.091 | Selenium 3.7 | Gecko驱动程序geckodriver-v0.19.1-win64.zip |火狐56
我的代码:从类似的问题
package new_Package;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Selenium_Basics {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "C:\\Users\\user\\workspace\\Gecko Driver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
}
}
我试图解决方法的计算器和其他网站建议喜欢用不同的Firefox版本尝试,设定DesiredCapabilities或建立二进制文件火狐但什么也仍然工作出。
另外我最近试图在检查点调试。
错误堆栈跟踪:
调试1
Exception in thread "main" org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:12121 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
Build info: version: '3.7.0', revision: '2321c73', time: '2017-11-02T22:12:07.291Z'
System info: host: 'LENOVO', ip: '192.168.0.6', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_91'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:98)
at new_Package.Selenium_Basics.main(Selenium_Basics.java:12)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:12121 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:159)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:138)
at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:86)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
... 21 more
答
我没有看到任何这样的错误在你的代码块。当JRE
找不到Class
时,观察到错误NoClassDefFoundError
。
简而言之,所需的imports
或jar
文件不可用。在这种情况下,你需要遵循以下步骤:
- 删除所有涉及到以前的版本
Selenium standalone server
&Selenium Java client
- 仅导入
selenium-server-standalone-3.7.0
的罐子。 - 在你
IDE
内Project
菜单,选择选项Build Automatically
并执行所有项目的Clean
选项。 - 执行您的测试。
的可能的复制[NoClassDefFoundError的:在硒为ChromeDriver组织/阿帕奇/ HTTP/HttpEntity](https://stackoverflow.com/questions/23471340/noclassdeffounderror-org-apache-http-httpentity-in-selenium对于chromedriver) – JeffC
@JeffC:我试过了,但是没有帮助。我甚至试着把Firefox的版本降级到45. –
你说过'我没有配置Selenium独立服务器jar'。那就是问题所在。你需要添加那个jar。 – JeffC