如何解决;org.openqa.selenium.webdrivexception:java.net.ConnectException:无法连接到localhost/“0”;用谷歌驱动程序?
我从一周开始就面临上述问题。早些时候,它工作顺利。即使是现在,它有时也可以正常工作,但大多数情况下,我会收到“连接到本地主机失败”错误:( 我已经将chrome driver升级到2.37,现在又将其降级到2.36,但运气不好。:(谢谢 问题详细信息: java.net.ConnectException:未能连接到本地主机/0:0:0:0:0:1:4321 构建信息:版本:“3.11.0”,修订版:“e59cfb3”,时间:“2018-03-11T20:33:15.31Z” 系统信息:主机:'GURWUNknjk',ip:'10.202.126.154',os.name:'Windows 8.1',os.arch:'amd64',os.version:'6.3',java.version:'1.8.0131' 驱动程序信息:Driver.version:RemoteWebDriver 以下代码供您参考: 注意:它在登录前工作正常。只有在登录后尝试搜索某些元素时才会出现问题如何解决;org.openqa.selenium.webdrivexception:java.net.ConnectException:无法连接到localhost/“0”;用谷歌驱动程序?,java,selenium,selenium-webdriver,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Selenium Chromedriver,我从一周开始就面临上述问题。早些时候,它工作顺利。即使是现在,它有时也可以正常工作,但大多数情况下,我会收到“连接到本地主机失败”错误:( 我已经将chrome driver升级到2.37,现在又将其降级到2.36,但运气不好。:(谢谢 问题详细信息: java.net.ConnectException:未能连接到本地主机/0:0:0:0:0:1:4321 构建信息:版本:“3.11.0”,修订版:“e59cfb3”,时间:“2018-03-11T20:33:15.31Z” 系统信息:主机:'
public static WebDriver driver;
public static void main(String[] args) throws InterruptedException, IOException {
System.setProperty("webdriver.chrome.driver", "d://chromedriver.exe");
driver = new ChromeDriver();
String url = "https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Faccounts.google.com%2Fb%2F0%2FAddMailService&flowName=GlifWebSignIn&flowEntry=AddSession";
driver.get(url);
driver.manage().window().maximize();
WebDriverWait wait = new WebDriverWait(driver, 20);
driver.manage().timeouts().implicitlyWait(15,TimeUnit.SECONDS) ;
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("input[type='Email']")));
if(driver.getCurrentUrl().contains("https://accounts.google.com/signin/v2/identifier?"))
{
driver.findElement(By.id("identifierId")).sendKeys(username);
driver.findElement(By.id("identifierNext")).click(); wait.until(ExpectedConditions.presenceOfElementLocated(By.name("password")));
driver.findElement(By.name("password")).sendKeys(pwd);
driver.findElement(By.name("password")).sendKeys(Keys.ENTER);
}
else{
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("input[type='Email']")));
driver.findElement(By.name("Email")).sendKeys(UserName);
driver.findElement(By.id("next")).click(); wait.until(ExpectedConditions.presenceOfElementLocated(By.name("Passwd")));
driver.findElement(By.name("Passwd")).sendKeys(Pwd);
wait.until(ExpectedConditions.presenceOfElementLocated(By.name("signIn")));
driver.findElement(By.id("signIn")).click();
}
wait.until(ExpectedConditions
.visibilityOfElementLocated(By.id(element id)));
driver.findElement(By.id(element id))
.sendKeys(some value);
Thread.sleep(3000);
driver.findElement(By.id(element id)).click(); }
错误说明了一切:
java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:4321
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:15.31Z'
System info: host: 'GURWUNknjk', ip: '10.202.126.154', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_131'
Driver info: driver.version: RemoteWebDriver
该错误清楚地表明,ChromeDriver未被识别为:
Driver info: driver.version: RemoteWebDriver
您的主要问题是所使用的二进制文件之间的版本兼容性,如下所示:
- 您使用的是chromedriver=2.37
- 我们不知道您的chrome版本
- 您的Selenium客户端版本是3.11.0
- 您的JDK版本是1.8.0131,非常古老
- 将JDK升级到最新级别
- 将ChromeDriver保持在当前水平
- 将Chrome版本保持在Chrome v65.x的级别。()
- 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
- 在执行测试套件之前和之后,使用该工具清除所有操作系统杂务
- 如果您的基本Web客户端版本太旧,请通过卸载它并安装最新的GA和Web客户端发布版本
- 重新启动系统
- 执行
@测试
定义路径时应该只有一个正斜杠。您使用的是哪个chrome版本尝试:
driver=new ChromeDriver(new ChromeOptions())
此外,删除最大化行-它将失败。如果确实需要将其最大化,则需要创建一个ChromeOptions实例,并在实例化驱动程序之前将其作为一个选项添加。@AnkurSingh到目前为止,我使用了2.36和2.37。这两个版本中我都面临问题。@BillHileman做了这两件事,但运气不佳。@(问题仍然存在感谢您的评论:)对于同一个Java版本,它在早些时候运行良好。无论如何,我将在周一之前安装它。我在一篇帖子上看到了您的评论,并执行了大部分步骤,但问题仍然存在。到目前为止,我使用的是chrome版本的“版本65.0.3325.181(官方版本)(64位)”它在更新java版本后工作。非常感谢:)抱歉,但问题仍然存在……(就像我说的,有时它工作,有时它不工作,现在我不知道是什么导致了这个问题……:(错误详细信息:错误为java.net.ConnectException:未能连接到本地主机/0:0:0:0:0:0:0:1:17498生成信息:版本:'3.11.0',修订版:'E59Cf3',时间:'2018-03-11T20:33:15.31Z'系统信息:主机:'GURWUNI5F3291',ip:'10.203.166.154',os.name:'Windows 8.1',os.arch:'amd64',os.version 6.3',java.version驱动程序信息:driver.version:remotewebdrivers不应该使用windows路径\而不是/?即d:\chromedriver.exe使用正斜杠(/)。我遇到了同样的问题,并切换出斜杠,现在可以正常工作。