Watin - 如何设置textarea的值(HTML编辑器)?

时间:2011-11-04 00:04:34

标签: tinymce textarea watin

我正在尝试使用以下代码设置文本字段的值:

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

代码通过而不会引发错误,但文本字段未填充值。

执行以下行时出现异常:

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

textarea是一个tiny_mce编辑器,其中一个html属性是:style="display: none;"...

如何使用Watin修改此类字段的值?

感谢。

2 个答案:

答案 0 :(得分:1)

首先,不是textarea。 tinymce在初始化时隐藏你的textarea并创建一个contenteditable iframe然后用于允许文本编辑,样式aso ... 其次,如果您想将编辑器内容写回隐藏的textarea,您可以使用 tinymce.get('testField').triggerSave();

设置textarea值的另一种方法是:
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

答案 1 :(得分:0)

这是使用Watin Eval函数处理此问题的简单方法:

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

'body'需要替换为tinymce隐藏的textarea的id - 在浏览器窗口中执行“查看源代码”以找到此ID。

相关问题