执行以下代码时,没有发现行错误(扫描仪)

时间:2018-10-03 11:07:18

标签: java

在执行以下代码时,我收到“找不到行”的错误。请让我知道我哪里出错了。在这里,我试图获取未能登录5次以上的用户的名称。

int count = 0;
  if(driver.findElements(By.xpath("/html/body/div/form/div/div/span")).size()==1) {

      count++;
      if(count>=5)
      System.out.println(user);  

      Scanner scanner_user1, scanner_pass1;
      ChromeOptions options1 = new ChromeOptions();
      options.addArguments("start-maximized");
      options.addArguments("disable-infobars");
      options.addArguments("--disable-extensions"); 
      WebDriver driver1 =  new ChromeDriver(options1);
      driver1.get("https://jamesweb.colanonline.net/");
      driver1.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
      scanner_user1 = new Scanner(System.in);
      System.out.println("Enter your Email or Phone2 : "); 
      String user1 = scanner_user1.nextLine();
      driver1.findElement(By.xpath("//*[@id=\"EmailId\"]")).sendKeys(user1);
      Thread.sleep(2000);
      scanner_pass1 = new Scanner(System.in);
      System.out.println("Enter your Password2 : ");
      String pass1 = scanner_pass1.nextLine();
      System.out.println("after input : ");
      driver1.findElement(By.xpath("//*[@id=\"Password\"]")).sendKeys(pass1);
      scanner_user1.close();
      scanner_pass1.close();

      driver1.findElement(By.xpath("//*[@id=\"btnLogin\"]")).click();
      }

  else {

      System.out.println("Login Passed"); 
  }

}

我在执行代码时遇到以下错误

Enter your Email or Phone2 : 
FAILED: Login
java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)

1 个答案:

答案 0 :(得分:1)

我的猜测是扫描器没有nextLine可供读取。 尝试放

while(!scanner.hasNextLine()){}

在nextLine-语句之前

编辑:我尝试在自己的程序上使用扫描仪,它本身会等待新的一行,因此上面的代码在这种情况下是没有用的。

为什么在system.in上有2个扫描仪?

Edit2:如果无法使扫描仪正常工作,则可能需要切换到BufferedReader(new InputStreamReader(System.in))来轮询用户输入。