我正在尝试使用以下代码设置文本字段的值:
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修改此类字段的值?
感谢。
答案 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。