2017-01-30 58 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

相關問題