用硒自动化tinymce

时间:2014-02-06 22:45:43

标签: ruby selenium tinymce selenium-webdriver wysiwyg

我在使用tinymce版本3.5.8时遇到问题。

def self.content(text)
  # to write on a WYSIWYG editor write on the iframe
  $driver.switch_to.frame('WikiRevision_content_ifr')
  $driver.find_element(:id, 'tinymce').send_keys text
  $driver.switch_to.default_content
  self
end

我的WYSIWYG编辑器上没有内容。没有错误。
试着用ruby 2.0和selenium-webdriver 2.39

写上tinymce

1 个答案:

答案 0 :(得分:1)

Here是一篇您可能会觉得有用的文章 - “Test WYSIWYG editors using Selenium WebDriver

对于您的问题,您可以尝试一些事情。 (假设您的帧切换正确完成,如果需要帮助,请显示您的HTML。)

  • 将密钥发送到正文(不确定您的id=tinymce是什么,而不知道HTML)
$driver.switch_to.frame('WikiRevision_content_ifr')
$driver.find_element(:css, 'body').send_keys text
  • 设置innerHTML
$driver.switch_to.frame('WikiRevision_content_ifr')
$driver.execute_script("arguments[0].innerHTML = 'arguments[1]'", $driver.find_element(:css => 'body'), text)
  • 使用TinyMCE的原生JS
$driver.execute_script("tinyMCE.activeEditor.setContent('arguments[0]')", text)