tinymce - 如何使用机器人框架和selenium2library选择TinyMCE字段的文本

标签 tinymce plone selenium-webdriver robotframework

我正在尝试使用 selenium2library 关键字(在 Plone 中)选择 TinyMCE 字段的文本。

我尝试使用鼠标事件(鼠标向下/悬停/向上)、Javascript 和“双击元素”来选择文本,但到目前为止没有任何效果。如果我设置调试器并手动选择文本,下面的代码将起作用:

  Go to  ${PLONE_URL}/++add++Document
  Input Text  name=form.widgets.IDublinCore.title  My Document
  Select frame  id=form.widgets.text_ifr
  Input text  id=content  Lorem Ipsum
  # Attempt with Javascript
  Execute Javascript  document.getElementById("content").select()
  # Attempt with Double Click
  Double Click Element  xpath=//body[@id='content']/p[1]
  Double Click Element  id=content
  # Attempt with Mouse Events
  Mouse Down  xpath=//body[@id='content']/p[contains(text(),'L')]
  Mouse Over  xpath=//body[@id='content']/p[contains(text(),'orem')]
  Mouse Up  xpath=//body[@id='content']/p[contains(text(),'Ipsum')]
  # When I set a debug statement here and select the text manually the test passes
  Unselect Frame
  Click Link  id=form.widgets.text_link
  Wait until page contains element  id=mce_31_ifr
  Select frame  id=mce_31_ifr
  Click Link  News
  ...

如果有人可以推荐哪种方法最有希望,那就已经很有帮助了。

最佳答案

这只是 JavaScript question 的重述这里。对于内容可编辑的元素,我认为 JavaScript 是最佳选择。以下代码选择 TinyMCE 小部件的内容可编辑部分的整个主体。

Open Browser    http://www.tinymce.com/    gc
Select Frame    id=editMe_ifr
Input Text    id=tinymce    Lorem Ipsum
Execute Javascript    function selectElementContents(el) {var range = document.createRange(); range.selectNodeContents(el); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range);} var el = document.getElementById("tinymce"); selectElementContents(el);

关于tinymce - 如何使用机器人框架和selenium2library选择TinyMCE字段的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17306305/

相关文章:

javascript - 防止在 TinyMCE 中输入默认键盘事件

javascript - TinyMCE:保存内容时我的 HTML 发生了变化。我怎样才能保留我的 HTML?

plone - 用户警告 : libxml2 not available

plone - 如何获取敏捷内容类型的图像并在批量 ListView 中显示?

c# - 通过 GeckoDriver Selenium 和 C# 加载现有 FirefoxProfile 时, 'System.IO.Compression.ZipStorer' 的类型初始值设定项引发异常

javascript - 你如何使用 javascript 在 selenium 中设置网络节流?

php - tinymce.无法打开 session 计数器文件

permissions - 内容类型隐藏和权限

selenium - 使用 Selenium 在 xUnit 中进行跨浏览器测试

javascript - 在光标所在的 TinyMCE 编辑器中插入文本