java.net.ConnectException:连接被拒绝:通过 GeckoDriver 启动 Firefox 时连接

java.net.ConnectException: Connection refused: connect while launching Firefox through GeckoDriver

我已经下载了最新版本的Firefox ie Quantum。对于 Selenium,之前不需要为 Firefox 下载任何可执行文件来打开 URL,但现在它会抛出为 GeckoDriver 设置 属性 的错误。

所以,我下载了最新版本的 geckodriver-v0.20.1-arm7hf.tar.gz 并将其放入 System.setProperty() 所以它抛出了一个错误拒绝连接。

因此,我使用替代方法在 Chrome 上打开 URL。下载 chromeExecutable 并且能够在没有任何连接拒绝的情况下打开。

代码片段:-

System.setProperty("webdriver.gecko.driver", "C:\XYZ\XXXX\Downloads\geckodriver-v0.20.1-arm7hf.tar.gz");
    WebDriver driver=new FirefoxDriver();
    driver.get("https://google.com");

控制台错误:

Caused by: java.net.ConnectException: Connection refused: connect

任何人都可以帮助解决 Mozilla Firefox 上的问题吗?

谢谢 梅哈克

你的问题中没有太多信息os,但我想以下是一个问题:

System.setProperty("webdriver.gecko.driver", "C:\XYZ\XXXX\Downloads\geckodriver-v0.20.1-arm7hf.tar.gz");

您似乎在 Windows OS 下(正在分析路径)但您正在设置 geckodriver-v0.20.1-arm7hf.tar.gz .

如果你有 windows os,你应该:

  1. here下载相关版本(geckodriver-v0.20.1-win64.zip或geckodriver-v0.20.1-win32.zip,这取决于你的OS)
  2. 提取它并在System.setProperty中设置提取的路径geckodriver.exe

类似的东西:

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

如果您在另一个 os 下,您应该下载适当的资产并做基本相同的事情。如果你有 linux/mac os,你必须确保提取的 geckodriver 是可执行的。

根据最佳实践,您需要遵循以下几点:

正如您在 Windows OS 下载 geckodriver-v0.20.1-win32.zipgeckodriver-v0.20.1-win64.zip 并解压供您使用。

  • 始终将您的浏览器更新为最新版本(Firefox、Chrome、IE)
  • System.setProperty() 行中,Value 字段应以 WebDriver 变体为:

    • Windows :

      System.setProperty("webdriver.gecko.driver", "C:\XYZ\XXXX\Downloads\geckodriver.exe");
      
    • Linux :

      System.setProperty("webdriver.gecko.driver", "/opt/XYZ/XXXX/geckodriver");
      
    • MacOSX:

      System.setProperty("webdriver.gecko.driver", "/Users/XYZ/XXXX/geckodriver");