Raspberry pi 2 B + Selenium Java = WebDriverException:java.net.ConnectException:无法连接

问题描述

我曾尝试将 Selenium 用于 Java,它在 Windows 10 上运行良好,但在我的 RaspBerry Pi 2 B 上却无法运行,我遇到了错误

代码错误driver = new FirefoxDriver(firefoxOptions);

错误

org.openqa.selenium.WebDriverException: java.net.ConnectException: 无法连接到 > localhost/0:0:0:0:0:0:0:1:13054 构建信息:版本:“未知”,修订:“未知”,时间:“未知” 系统信息:host: 'Domoticz',ip: '127.0.1.1',os.name: 'Linux',os.arch: 'arm',os.version: '5.10.17-> v7+',java.version: '11.0.9.1' 驱动程序信息:driver.version:FirefoxDriver 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:147) 在 com.seleniumtest.seleniumtest.Test.run(Test.java:73) 引起:java.net.ConnectException: 无法连接到 localhost/0:0:0:0:0:0:0:1:13054 在 okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:247) 在 okhttp3.internal.connection.RealConnection.connect(RealConnection.java:165) 在 okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257) 在 okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135) 在 okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114) 在 okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) 在 okhttp3.RealCall.execute(RealCall.java:77) 在 org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:103) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:105) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) ……还有 5 个 引起:java.net.ConnectException:Connexion refusée(连接被拒绝) 在 java.base/java.net.PlainSocketImpl.socketConnect(Native Method) 在 java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) 在 java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) 在 java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) 在 java.base/java.net.socksSocketImpl.connect(SocksSocketImpl.java:403) 在 java.base/java.net.socket.connect(Socket.java:609) 在 okhttp3.internal.platform.Platform.connectSocket(Platform.java:129) 在 okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:245) ……还有 27 个

Pom.xml :

<dependency>
 ​<groupId>org.seleniumhq.selenium</groupId>
 ​<artifactId>selenium-java</artifactId>
 ​<version>3.141.59</version>
</dependency>

使用的驱动程序:

     ​- geckodriver-v0.27.0-linux32.tar

     ​- geckodriver-v0.28.0-linux32.tar

​     - geckodriver-v0.29.1-linux32.tar

火狐版: Mozilla Firefox 78.10.0esr

有什么想法吗? 谢谢!

解决方法

我发现了问题:我必须使用 arm 驱动程序而不是 linux32 : https://github.com/mozilla/geckodriver/releases/tag/v0.23.0