2

我有一个扩展方法可以将文本发送到一个 tinymce 控件,用于一个 Web 应用程序的一系列测试用例,该应用程序在整个过程中都有许多 tinymce 控件。我的方法适用于 FireFox 和 Chrome,但不适用于我们支持的其他浏览器 IE。任何帮助使它在 IE 中工作将不胜感激 - 下面是我的方法代码:

public static void SendTextToMCE(this IWebDriver driver, string mceControl, string message)
    {
        driver.SwitchTo().Frame(mceControl);
        driver.FindElement(By.Id("tinymce")).SendKeys(message);
        driver.SwitchTo().Window(driver.CurrentWindowHandle);
    }
4

2 回答 2

1

如果您的页面中有一个TinyMCE 元素,那么您可以通过 TinyMCE 的脚本发送您的文本:

var obj = ((IJavaScriptExecutor)webDriver).ExecuteScript("tinyMCE.activeEditor.setContent('" + text + "');");
于 2013-04-12T17:06:57.237 回答
0

我尝试在 C# 中使用以下代码,这对我来说很好。

public void main ()
{
  driver.SwitchTo().Frame("description-editor_ifr");
  IWebElement element = _WebDriver.FindElement(By.CssSelector("body"));
  element.Clear();
  element.SendKeys("Hello");

  //Go back to main frame
  driver.SwitchTo().ParentFrame();
}
于 2015-10-08T11:35:16.393 回答