簡體   English   中英

org.openqa.selenium.WebDriverException:java.net.ConnectException:使用Gecko驅動程序無法連接到本地主機

[英]org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost with Gecko driver

我是硒新手。 我使用Java,Geckodriver和eclipse設置了基本的登錄項目。 我正在使用最新版本:

Geckodriver:geckodriver-v0.24.0-win64

硒:selenium-java-3.141.59

JDk:jdk-12.0.2_windows-x64_bin

Firefox瀏覽器:68.0.2(64位)。

Windows Server 2008 R2標准

運行代碼后,我得到此錯誤:

org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/192.168.0.246:1539
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'EX-DESK-13', ip: '192.168.0.246', os.name: 'Windows Server 2008 R2', os.arch: 'amd64', os.version: '6.1', java.version: '12.0.2'
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:552)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:147)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125)
    at login.Userlogin.invokebrowser(Userlogin.java:23)
    at login.Userlogin.main(Userlogin.java:46)
Caused by: java.net.ConnectException: Failed to connect to localhost/192.168.0.246:1539
    at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:247)
    at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:165)
    at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
    at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
    at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
    at okhttp3.RealCall.execute(RealCall.java:77)
    at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:103)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:105)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    ... 7 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
    at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
    at java.base/java.net.Socket.connect(Socket.java:591)
    at okhttp3.internal.platform.Platform.connectSocket(Platform.java:129)
    at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:245)
    ... 29 more

我的代碼:

package login;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
//import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxDriverLogLevel;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

    public class Userlogin {
    WebDriver driver;

    public void invokebrowser() // function
    {
        try {
            // System.setProperty
            // ("webdriver.ie.driver","C:\\IEDriverServer\\IEDriverServer.exe"); //to get
            // the driver
            // driver = new InternetExplorerDriver();
            System.setProperty("webdriver.gecko.driver", "C:\\Users\\geckodriver\\geckodriver.exe");
            driver = new FirefoxDriver(); // Driver assigning
            driver.manage().deleteAllCookies(); // manage drivers are ins elenium
            driver.manage().window().maximize(); // maximize the screen
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); // until the page load until 0 to 30 sec
            driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); // Wait for whole load page

            driver.get("https://ex-desk-13.explorance.int/blue/"); // get the url
            login();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void login() {
        driver.findElement(By.id("BlueUserName")).sendKeys("blue");
        driver.findElement(By.id("BluePassword")).sendKeys("blue");
        driver.findElement(By.id("submit")).click();

    }

    public static void main(String[] args) {
        Userlogin myobj = new Userlogin();
        myobj.invokebrowser();
    }

您是否檢查過geckodriver路徑?

System.setProperty("webdriver.gecko.driver", "C:\\geckodriver\\geckodriver.exe");

我認為您已將其保存在geckodriver文件夾下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM