Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决;org.openqa.selenium.webdrivexception:java.net.ConnectException:无法连接到localhost/“0”;用谷歌驱动程序?_Java_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

如何解决;org.openqa.selenium.webdrivexception:java.net.ConnectException:无法连接到localhost/“0”;用谷歌驱动程序?

如何解决;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” 系统信息:主机:'

我从一周开始就面临上述问题。早些时候,它工作顺利。即使是现在,它有时也可以正常工作,但大多数情况下,我会收到“连接到本地主机失败”错误:( 我已经将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

以下代码供您参考: 注意:它在登录前工作正常。只有在登录后尝试搜索某些元素时才会出现问题

    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 v8u131、Selenium客户端v3.11.0和ChromeDriver版本(v2.37)之间存在明显的不匹配

解决方案
  • 将JDK升级到最新级别
  • 将ChromeDriver保持在当前水平
  • 将Chrome版本保持在Chrome v65.x的级别。()
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
  • 在执行测试套件之前和之后,使用该工具清除所有操作系统杂务
  • 如果您的基本Web客户端版本太旧,请通过卸载它并安装最新的GA和Web客户端发布版本
  • 重新启动系统
  • 执行
    @测试

看看您在哪里实例化驱动器。 您编写了:System.setProperty(“webdriver.chrome.driver”,“d://chromedriver.exe”)

我认为问题在于chrome驱动路径。 尝试:“D:/chromedriver.exe”)


定义路径时应该只有一个正斜杠。

您使用的是哪个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使用正斜杠(/)。我遇到了同样的问题,并切换出斜杠,现在可以正常工作。