2015-11-18 2 views
3

У меня есть многострочный текст, и когда я просто помещаю весь текст в форму с помощью sendKeys, форма отправляется на каждом разрыве строки.Selenium Webdriver вводит многострочный текст в форме без отправки

Я попытался заменить символ новой строки с возвратом каретки таким образом:

String myText="Some Multiline Text...."; 
myText=myText.replace("\n","\13"); 

Это просто удалить символ новой строки, и я не мог видеть символ новой строки в выходном тексте.

Также ниже не работает (он также представляет форму на разрывы строк):

String myText="Some Multiline Text...."; 
myText=myText.replace("\n","\r"); 

Так как же я могу идти о с новой строкой в ​​SendKeys без отправки формы?

+0

Литерал '' \ 13 "' находится в восьмеричном формате и является символом 'chr (11)', который является вертикальной вкладкой. Канал строки '' \ n "' или '" \ u000a "', а возврат каретки - '' \ r "' is '" \ u000d "'. –

+0

@hege_hegedus Я пробовал это на основе этого ответа http://stackoverflow.com/a/11540219/1291122 – rahulserver

+0

Я думаю, что они могли ошибиться. Я не могу найти его в документации, но я думаю, что это должно быть '' \\ 13 "', поэтому строковый литерал не может быть экранирован. –

ответ

9

Нажатие ввода в текстовое поле часто представляет форму. Обычно вы можете обойти его, используя Shift + Enter, чтобы вставить новую строку. Попробуйте следующее:

String myText = "first line\nsecond line"; 
myText = myText.replace("\n", Keys.chord(Keys.SHIFT, Keys.ENTER)); 
myElement.sendKeys(myText); 
+0

Ты сделал мой день! – rahulserver

+0

Добро пожаловать, я рад, что это сработало в вашем случае. –

Смежные вопросы