Watin - Как установить значение textarea (редактор HTML)? - PullRequest
2 голосов
/ 04 ноября 2011

Я пытаюсь установить значение текстового поля, используя следующий код:

if (ie.TextField(Find.ById("testField")).Exists)
   ie.TextField(Find.ById("testField")).Value = "Test";

Код проходит без сообщения об ошибке, однако текстовое поле не заполнено значением.

Я получаю исключение, когда выполняю следующую строку:

ie.TextField(Find.ById("testField")).Focus()

Текстовая область является редактором tiny_mce, и один из атрибутов html: style="display: none;"...

Любые идеи, как я могуизменить значение такого поля с помощью Watin?

Спасибо.

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Первая крошка - это не текстовая область. tinymce скрывает текстовое поле при инициализации и создает приемлемый iframe, который затем используется, чтобы разрешить редактирование текста, стилизацию как ... Во-вторых, если вы хотите записать содержимое редактора обратно в скрытую область текста, вы можете сделать это, используя tinymce.get('testField').triggerSave();.

Другой способ установить значение вашего текстового поля:
tinymce.get('testField').getDocumentById('testField').value = 'new value';

Если вы хотите записать контент непосредственно в ваш редактор tinymce, вы можете выбрать один из следующих вариантов:

tinymce.get('testField').setContent('my_new_content'); // replaces the editors content

или

tinymce.get('testField').execCommand('mceInsertContent',false, 'my_content_to_be_added'); // adds the content at the carat postion
0 голосов
/ 04 ноября 2011

Вот простой способ справиться с этим с помощью функции Watin Eval:

var js = "tinyMCE.get('body').setContent('" + bodyCont + "')";
var s = ie.Eval(js);

'body' необходимо заменить на идентификатор текстовой области, который скрыт с помощью tinymce - выполните «просмотр источника» в окне браузера, чтобы найти этот идентификатор.

...