使用Selenium发送文本到tinymce控件不工作IE9
问题描述:
我有一个扩展方法发送文本到tinymce控件的一系列测试案例的Web应用程序,其中有许多tinymce控件贯穿始终。我的方法适用于FireFox和Chrome,但不适用于我们支持的其他浏览器。任何得到这个在IE工作的帮助,将不胜感激 - 下面是我的方法的代码:使用Selenium发送文本到tinymce控件不工作IE9
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);
}
答
如果你有一个 TinyMCE的元素在你的页面,那么你可以通过TinyMCE的的脚本您的短信:
var obj = ((IJavaScriptExecutor)webDriver).ExecuteScript("tinyMCE.activeEditor.setContent('" + text + "');");
答
我尝试下面的代码在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();
}
你会得到什么错误? – Arran 2013-03-15 15:01:11
我没有得到任何错误 - 控件中没有文本(由消息变量携带)。我有另一种方法遵循相同的模式,但执行.clear()方法,在IE中正常工作,但当我尝试向控件发送文本时,什么也没有 - 控件文本框保持空白。我注意到,光标似乎在页面上的另一个文本框中,当它失败,所以我想着焦点问题,但我认为司机.SwitchTo应该照顾,并像我在原来的说 - 这工作得很好在Chrome和FireFox中(即文本被填充到控件中)。 – kdavej 2013-03-15 21:31:00