【问题标题】:Unable to launch Firefox browser using selenium web driver无法使用 selenium Web 驱动程序启动 Firefox 浏览器
【发布时间】:2018-04-02 05:18:17
【问题描述】:

我无法使用 selenium webdriver 3.4.0 启动 Firefox 浏览器

浏览器版本:Firefox 54.0.1

这是我的代码:

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
    System.setProperty("webdriver.gecko.driver", "C:\\xx\\geckodriver.exe");
     WebDriver driver=new FirefoxDriver();
    driver.get("http://www.google.co.in");
    driver.quit();
 }
}

遇到错误

1508548441651 geckodriver INFO geckodriver 0.18.0 1508548441660 geckodriver INFO 监听 127.0.0.1:48046 异常 在线程“主”org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHostConnectException:连接到 localhost:48046 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] 失败:连接被拒绝:连接构建信息:版本:'3.4.0', 修订:'未知',时间:'未知'系统信息:主机: 'ADMINRG-627BJ6K',ip:'192.168.1.3',os.name:'Windows 10',os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_131' 驱动信息: driver.version: FirefoxDriver 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:91) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:137) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:191) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:108) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:104) 在 com.webdriver.Testing.main(Testing.java:15) 引起: org.apache.http.conn.HttpHostConnectException:连接到 localhost:48046 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] 失败:连接被拒绝:连接在 org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:159) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359) 在 org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381) 在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) 在 org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) 在 org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 在 org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) 在 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) 在 org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:139) 在 org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:87) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:343) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:159) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) ... 8 更多原因:java.net.ConnectException:连接被拒绝: 在 java.net.DualStackPlainSocketImpl.waitForConnect(Native 方法)在 java.net.DualStackPlainSocketImpl.socketConnect(Unknown 来源)在 java.net.AbstractPlainSocketImpl.doConnect(未知来源) 在 java.net.AbstractPlainSocketImpl.connectToAddress(未知来源) 在 java.net.AbstractPlainSocketImpl.connect(Unknown Source) 在 java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) 在 java.net.Socket.connect(Unknown Source) 在 org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75) 在 org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ... 23 更多

【问题讨论】:

  • 为什么加了这个声明:System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe")
  • 我得到了其他朋友的建议。所以我添加了。
  • 任何建议。因为我仍然面临这个问题。

标签: firefox selenium-webdriver


【解决方案1】:

您可以在maven中使用“Webdrivermanager”插件,而不是使用特定浏览器的驱动程序,这样它将解决与浏览器及其实例相关的大部分问题。即使这对我克服浏览器相关问题也有很大帮助。例如。 1.用maven添加Webdrivermanager插件 2.直接调用你选择的浏览器,如下所述的firefox。

FirefoxDriverManager.getInstance().setup(); driver= new FirefoxDriver();

【讨论】:

    【解决方案2】:

    在某些 firefox 浏览器版本的情况下,驱动程序无法使用属性“webdriver.gecko.driver”启动浏览器。而不是这个,你可以尝试以下代码:

     DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);
        WebDriver driver = new FirefoxDriver(capabilities);
    

    【讨论】:

      【解决方案3】:

      试试这个方法:我正在使用 C#,但这种方法对我有用。您可以按照与 Java 相同的方式进行操作 提供“firefox.exe”和“GeckoDriver”作为您的本地路径

      var binary = new FirefoxBinary(@"----Firefox.exe Path------");
      var profile = new FirefoxProfile();
      FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(@"----GeckoDriver Path------");
      service.FirefoxBinaryPath = @"----Firefox.exe Path------";
      driverInstance = new FirefoxDriver(service);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-08
        • 2019-12-14
        • 1970-01-01
        • 1970-01-01
        • 2015-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多