我在我的硒webdriver上得到了太常見的連接拒絕錯誤。相同的代碼在幾周前執行。Java Selenium Webdriver連接拒絕
我一直在閱讀圈子通過現有的職位,並嘗試更新geckodriver和FireFox無濟於事。我可以在運行相同版本的驅動程序,瀏覽器和庫等的另一臺計算機上運行相同的代碼。我如何找到特定於此機器的原因?錯誤在下面。
調試1 調試2 調試3
異常在線程 「主」 org.openqa.selenium.WebDriverException:org.apache.http.conn.HttpHostConnectException:連接到本地主機:28379 [本地主機/ 127.0。 0.1,localhost/0:0:0:0:0:0:0:1]失敗:連接被拒絕:連接構建信息:版本:'unknown',修訂:'unknown',時間:'unknown'系統信息:host :'LT9LTDRC2',ip:'10 .130.3.15',os.name:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'1.8.0_131'驅動程序信息: driver.version:Gecko_Driver at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:91)at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637)at org.openqa .org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java: 137)在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:191)at org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:108)at org.openqa.selenium.firefox.FirefoxDriver。( (Gecko_Driver.java:13)導致:org.apache.http.conn.HttpHostConnectException:連接到localhost:28379 [localhost/127.0.0.1,localhost/0:0: 0:0:0:0:0:1]失敗:連接被拒絕:在org.apache.http.impl.conn處的org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:159)處進行連接。 PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359)at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381)at在org.apache.http.impl的org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)處提供org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)。在org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient。)上的org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)上的execchain.RetryExec.execute(RetryExec.java:89)在org.openqa上org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)處的org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) .selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:139)at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:87)at org.openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:343)at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:159)at org.openqa.selenium.remote.HttpCommandExecutor.execute (HttpCommandExecutor.java:142)at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)... 8更多原因:java.net.ConnectException:連接被拒絕:在java.net連接.dualStackPlainSocketImpl.waitForConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)at java.net.AbstractPlainSocketImpl在java.net.PlainSocketImpl.connect(未知源)上的.connect(Unknown Source)在java.net.SocksSocketImpl.connect(未知源)在java.net.Socket.connect(未知源)在org.apache.http.conn .socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75)at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)... 23更多
即使下面的基本代碼,我也會得到這個結果。
enter code here
package seleniumPrograms;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Gecko_Driver {
public static void main(String[] args) {
System.out.println("Debug 1");
DesiredCapabilities capabilities=DesiredCapabilities.firefox();
System.out.println("Debug 2");
capabilities.setCapability("marionette", true);
System.out.println("Debug 3");
WebDriver driver = new FirefoxDriver(capabilities);
System.out.println("Debug 4");
driver.get("http://www.google.com");
driver.manage().window().maximize();
driver.quit();
}
}
與鉻的例子。
@Test
public void testGoogleSearch() throws InterruptedException {
// Optional, if not specified, WebDriver will search your path for chromedriver.
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com/xhtml");
Thread.sleep(5000); // Let the user actually see something!
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("ChromeDriver");
searchBox.submit();
Thread.sleep(5000); // Let the user actually see something!
driver.quit();
}
故障跟蹤:
org.openqa.selenium.WebDriverException:超時等待司機服務器開始。 構建信息:版本:'unknown',修訂:'unknown',時間:'unknown' 系統信息:主機:'LT9LTDRC2',ip:'192.168.1.6',操作系統名稱:'Windows 10',操作系統。 arch:'amd64',os.version:'10 .0',java.version:'1.8.0_131' 驅動程序信息:driver.version:Gecko_Driver at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService。的java:193) 在org.openqa.selenium.remote.service.DriverService.start(DriverService.java:181) 在org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78) 在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) at org.openqa.se (ChromeDriver.java: 184) 在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:171) 在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:124) 在seleniumPrograms.Gecko_Driver.testGoogleSearch(Gecko_Driver。的java:16) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(未知來源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知來源) 在java.lang.reflect中.Method.invoke(未知來源) at org.juni t.runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod .invokeExplosive(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 在org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 在org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 在org.junit.runners.ParentRunner $ 3.run(ParentRunner。 java:290) at org.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access $ 000(ParentRunner.java:58) at org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner。 java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org。 eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse。 jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 引起人:org.openqa.selenium.net。UrlChecker $ TimeoutException:在org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:107) org.openqa.selenium.remote.service.DriverService處等待[http://localhost:31675/status] 20002 ms 後超時。 waitUntilAvailable(DriverService.java:190) ... 33更多 引起:com.google.common.util.concurrent.UncheckedTimeoutException:java.util.concurrent.TimeoutException at com.google.common.util.concurrent.SimpleTimeLimiter在java的java.util.concurrent.TimeoutException :.callWithTimeout(SimpleTimeLimiter.java:140) 在org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:80) ... 34更 引起。 util.concurrent.FutureTask.get(未知來源) 在com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:128) ...... 35多個
感謝您的快速響應。它在實例化FirefoxDriver() –
System.setProperty(「webdriver.gecko.driver」,「C:\\ Temp \\ Drivers and Libraries \\ geckodriver-v0.16.1-win64 \\ geckodriver.exe」)時失敗。 \t System.out.println(「Debug 1」); \t DesiredCapabilities功能= DesiredCapabilities.firefox(); \t System.out.println(「Debug 2」); \t capabilities.setCapability(「marionette」,true); \t System.out.println(「Debug 3」); \t WebDriver driver = new FirefoxDriver(); System.out.println(「Debug 4」); \t driver.get(「http://www.google.com」); \t \t driver.manage()。window()。maximize(); –
調試4從不打印 –