【问题标题】:Getting error on Firefox 51.0 using Selenium 3.0.1使用 Selenium 3.0.1 在 Firefox 51.0 上出现错误
【发布时间】:2017-01-30 20:05:36
【问题描述】:

我是 selenium WebDriver 的新手。

我的代码在下面

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class DropdownHandling {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.gecko.driver", "F:\\Study material\\Selenium\\geckodriver-v0.13.0-arm7hf\\geckodriver");
    WebDriver d = new FirefoxDriver();
    d.manage().window().maximize();
    d.get("https://www.flipkart.com/");
    WebElement list =d.findElement(By.xpath("//a[span[text()='Women']]"));
    Actions a = new Actions(d);
    a.moveToElement(list).perform();
    d.findElement(By.xpath("//a[span[text()='Flats']]")).click();
    }
}

我正在尝试导航到女性类别并在 Flipkart.com 上的鞋类类别下选择平底鞋。但我无法找出错误。

控制台的输出如下:

Jan 31, 2017 1:10:11 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
Exception in thread "main" org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:34970 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
Build info: version: 'unknown', revision: '1969d75', time: '2016-10-18 09:43:45 -0700'
System info: host: 'MKN', ip: '192.168.0.106', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_92'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:91)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:259)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:247)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:242)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:238)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:127)
    at DropdownHandling.main(DropdownHandling.java:14)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:34970 [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:158)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
    at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:142)
    at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:88)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:108)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:64)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
    ... 9 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
    ... 24 more

【问题讨论】:

  • 您使用的是什么版本的 geckodriver?我要检查的第一件事是您是否使用与您的 ff 版本一起使用的 geckodriver 版本
  • 我正在使用 geckodriver-v0.13.0
  • 还有几个问题,您使用的是哪个操作系统?哪一行导致错误?除非操作系统是问题,否则我认为代码没有任何问题,但您始终可以尝试所需的功能方法。 DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette", true); WebDriver driver = new FirefoxDriver(capabilities);
  • 那里的错误使测试看起来像是试图在 Windows 10 上运行,我已经发布了一个基于此的答案。祝你好运!
  • 还请记住,Actions 是一个本地鼠标操作,它在很大程度上依赖于您加载的驱动程序。如有必要,您可以通过使用 JavaScriptExecutor 执行非本机 JavaScript 来解决此问题。我并不是说这就是解决方案,但如果你最终完全陷入困境,那将暂时让你继续前进。

标签: java selenium firefox


【解决方案1】:

您似乎使用了错误的驱动程序。

"F:\\Study material\\Selenium\\geckodriver-v0.13.0-arm7hf\\geckodriver"

表示您使用的是 arm7hf(不是 windows)驱动程序。

System info: host: 'MKN', ip: '192.168.0.106', os.name: 'Windows 10', os.arch: 'x86'...

表示您使用的是 Windows 10

尝试使用geckodriver-v0.13.0-win32 驱动程序或win64 驱动程序。

https://github.com/mozilla/geckodriver/releases

【讨论】:

  • 尝试使用 geckodriver-v0.13.0-win32/win64 两者都没有工作。
  • 您可能会遇到几个不同的问题。当您使用 windows 驱动程序时,您是否收到相同的错误消息?还是在其他方面失败了?
猜你喜欢
  • 2017-04-04
  • 1970-01-01
  • 2017-03-20
  • 2017-07-28
  • 1970-01-01
  • 2014-08-04
  • 2018-01-20
  • 2013-07-08
  • 1970-01-01
相关资源
最近更新 更多