JQuery: 如何将 FOCUS 设置为 TinyMCE 编辑器?
JQuery: How to set FOCUS to a TinyMCE editor?
我正在尝试使用 SELENIUM 向 TinyMCE 添加文本。我已经能够使用此代码添加文本:
$('iframe').last().contents().find('body').text('401c484b-68e4-4bf2-a13d-2a564acddc04');
TinyMCE 编辑器正在显示 GUID。但是,当 Selenium 单击提交按钮时,出现错误:Please, enter a text.
。
我注意到,虽然 Selenium 是 运行,但我只需要(手动)单击 TinyMCE 然后,当单击更新按钮时,返回文本。
那么如何使用 javascript 或 jQuery[ 单击 TinyMCE?
我的回答来自this post @SiKing 指点我
public void EnterTextInTinyMCE(int n, string noteText, string escapeElementCss)
{
driver.SwitchTo().Frame(n - 1);
IWebElement body = driver.FindElement(By.XPath("//body"));
body.Click();
Wait(3);
IJavaScriptExecutor jse = driver as IJavaScriptExecutor;
jse.ExecuteScript("arguments[0].innerHTML = '" + noteText + "'", body);
driver.SwitchTo().DefaultContent();
Wait(3);
ClickLinkByFullCSS(escapeElementCss); //--- I ADDED THIS LINE TO FORCE
//--- THE IFRAME ELEMENT TO LOSE FOCUS
}
ClickLinkByFullCSS();
只是我在基class中定义的一个方法,escapeElementCss
只是iframe
之外的一个元素。我选择标题栏是因为它只是一个 div,没有任何按钮,以避免单击可能产生事件的元素。
事实上,切换回 DefaultContent 会将焦点从编辑器上移开。所以我只是客户端到编辑器之外的一个元素。这迫使编辑器失去焦点并且更新成功。
我正在尝试使用 SELENIUM 向 TinyMCE 添加文本。我已经能够使用此代码添加文本:
$('iframe').last().contents().find('body').text('401c484b-68e4-4bf2-a13d-2a564acddc04');
TinyMCE 编辑器正在显示 GUID。但是,当 Selenium 单击提交按钮时,出现错误:Please, enter a text.
。
我注意到,虽然 Selenium 是 运行,但我只需要(手动)单击 TinyMCE 然后,当单击更新按钮时,返回文本。
那么如何使用 javascript 或 jQuery[ 单击 TinyMCE?
我的回答来自this post @SiKing 指点我
public void EnterTextInTinyMCE(int n, string noteText, string escapeElementCss)
{
driver.SwitchTo().Frame(n - 1);
IWebElement body = driver.FindElement(By.XPath("//body"));
body.Click();
Wait(3);
IJavaScriptExecutor jse = driver as IJavaScriptExecutor;
jse.ExecuteScript("arguments[0].innerHTML = '" + noteText + "'", body);
driver.SwitchTo().DefaultContent();
Wait(3);
ClickLinkByFullCSS(escapeElementCss); //--- I ADDED THIS LINE TO FORCE
//--- THE IFRAME ELEMENT TO LOSE FOCUS
}
ClickLinkByFullCSS();
只是我在基class中定义的一个方法,escapeElementCss
只是iframe
之外的一个元素。我选择标题栏是因为它只是一个 div,没有任何按钮,以避免单击可能产生事件的元素。
事实上,切换回 DefaultContent 会将焦点从编辑器上移开。所以我只是客户端到编辑器之外的一个元素。这迫使编辑器失去焦点并且更新成功。