在执行以下代码时,我收到“找不到行”的错误。请让我知道我哪里出错了。在这里,我试图获取未能登录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)
答案 0 :(得分:1)
我的猜测是扫描器没有nextLine可供读取。 尝试放
while(!scanner.hasNextLine()){}
在nextLine-语句之前
编辑:我尝试在自己的程序上使用扫描仪,它本身会等待新的一行,因此上面的代码在这种情况下是没有用的。
为什么在system.in上有2个扫描仪?
Edit2:如果无法使扫描仪正常工作,则可能需要切换到BufferedReader(new InputStreamReader(System.in))
来轮询用户输入。