我在我的硒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从不打印 –