繁体   English   中英

WebDriverException:在硒Web驱动程序Java中未定义tinyMCE

[英]WebDriverException: tinyMCE is not defined in selenium web driver java

driver.switchTo().frame("tinymce_iframe");    
String script="var editor=tinyMCE.get('tinymce_textarea');";    
JavascriptExecutor js=(JavascriptExecutor) driver;    
js.executeScript(script);    

我想执行此javascript代码,但我收到未定义tinyMCE的WebDriverException。

<html>  
<script type="text/javascript" src="tinymce3.5.1/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>

      <script type="text/javascript">
       tinyMCE.init({
        theme : "advanced",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        mode : "exact",
        elements : "tinymce_textarea"
      });
     </script>  
      <body>

     <textarea cols="80" rows="10" id="tinymce_textarea" name="tinymce_textarea"> 

         &lt;h1&gt;<span id="1">Article</span> <span id="2">Title</span>&lt;/h1&gt;
         <p><span id="3">Here's</span> <span id="4">some</span> <span id="5">sample</span> <span id="6">text</span> <span id="7">Hello</span> <span id="8" >World.</span> </p>
           </textarea>
</body>
</html>

我不知道您是否解决了这个问题。 这是一些解决问题的想法,因为我没有使用tinyMCESelenium

加载iframe时,这似乎是时间问题。 我正在考虑做一个事件侦听器类型的事情,而不是一个计时器,但是当我包装init函数时,它可以正常工作。 我在这里找到了这篇文章的提示:

tinyMCE.execCommand('mceRemoveEditor', false, 'editorId');
setTimeout(function() {
    tinyMCE.init(myconfig);
}, 3000);

或者,如果您能够检查适当的编辑器元素,请尝试使用setInterval()

var IntID = setInterval(function () { // Repeated check for Editor
    if (($('.tinymce_textarea').length) > 0) { // Editor element length
        tinyMCE.init({
            theme : "advanced",
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            mode : "exact",
            elements : "tinymce_textarea"
        });
        clearInterval(IntID); // This will clear timer for editor check
    }
}, 10);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM