CasperJS并向TinyMCE发送文本

时间:2014-08-24 02:08:00

标签: javascript tinymce casperjs

我试图向Tinymce发送文本,但是这个.click和this.sendKeys显然不会为此工作。

以下是我尝试发布的页面中的简明HTML。

<body id="tinymce" class="mceContentBody " onload="window.parent.tinyMCE.get('post_two').onLoad.dispatch();" contenteditable="true" style="overflow-y: hidden; padding-bottom: 50px;" dir="ltr"></body>

这里有任何建议,非常感谢

3 个答案:

答案 0 :(得分:1)

我找到了解决方法。我this.click在页面中的另一个元素,然后发送TAB事件,直到我到达tinymce。不理想,但它有效

答案 1 :(得分:1)

在理想世界中,您将使用tinyMCE.editors[0].setContent("your text"),但是从使用casper visual debugger时看到的情况来看,当回调被触发时,iframe将无法加载。您需要拨打casper.wait()几秒钟才能让iframe加载(或者监视iframe的资源网址是否已加载)

我使用的解决方法是绕过表单验证或使用AJAX发送FormData对象:

  var formData = new FormData(document.forms[1]);
  $.ajax({
      url: 'http://...',
      data: formData,
      cache: false,
      contentType: false, //'multipart/form-data',
      processData: false,
      type: 'POST',
      success: function(data){
          alert(data);
      }
  });

答案 2 :(得分:0)

在body标签下方,您会看到textarea元素。因此,只需使用this.fill(form,inputs including textarea,SendYEsOrNo)检查表单是否有效。