2014-11-18 3 views
0

Я написал свой скрипт на Java и работает в браузере Chrome. У меня есть поле имени пользователя, пароль и кнопка входа в систему. Даже до завершения ввода в поле имени пользователя он начинает выполнять действие в поле пароля/кнопку входа в систему.sendKeys не вводит полный ввод все время

Вот мой код,

driver.findElement(By.name("data[Student][email]")).sendKeys("[email protected]");     
driver.findElement(By.name("data[Student][password]")).sendKeys("abc123");     
driver.findElement(By.xpath("//*[@class='btn btn-large btn-primary']")).click(); 
+1

Добро пожаловать в SO! Небольшое замечание по вашему вопросу: вы можете отформатировать код с помощью уценки (с помощью кнопки или ctrl-k). Что касается вашего фактического пролема, я не уверен, что хорошо вас понимаю. Предоставляет ли он форму перед заполнением логина и пароля? – fxm

+0

Можете ли вы добавить фрагмент кода HTML, относящийся к элементам: email, password? Тогда будет легче понять, что пошло не так с кодом выше. Благодарю. – Subh

ответ

1

Попробуйте замедлить выполнение, добавив некоторые сна между ними, что-то вроде

Thread.sleep(1000); 
driver.findElement(By.name("data[Student][email]")).sendKeys("[email protected]");  
Thread.sleep(1000);    
driver.findElement(By.name("data[Student][password]")).sendKeys("abc123");     
Thread.sleep(1000); 
driver.findElement(By.xpath("//*[@class='btn btn-large btn-primary']")).click(); 
1

Try использовать неявные ожидания согласно ниже:

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
Смежные вопросы