2017-01-30 34 views
2

我是selenium WebDriver的新手。使用Selenium 3.0.1获取Firefox 51.0的错误

我的代码如下

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 
+0

您使用的是哪种版本的geckodriver?首先我会检查的是,如果您使用的geckodriver版本与您的ff版本一起使用 – mrfreester

+0

我正在使用geckodriver-v0.13.0 – anonymous

+0

还有几个问题,您正在使用哪个操作系统?哪一行导致错误?我没有看到代码有什么问题,除非操作系统是一个问题,但你总是可以尝试所需的功能方法。 DesiredCapabilities功能= DesiredCapabilities.firefox(); \t \t capabilities.setCapability(“marionette”,true); \t \t WebDriver driver = new FirefoxDriver(capabilities);' – mrfreester

回答

0

看来你使用了错误的驱动程序。

"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

+0

尝试使用geckodriver-v0.13.0-win32/win64两个niether正在工作。 – anonymous

+0

很可能你遇到了几个不同的问题。当你使用Windows驱动程序时,你是否收到相同的错误信息?还是在别的东西上失败了? – mrfreester

相关问题