gpt4 book ai didi

java - 如何在位于 iframe 中的富文本编辑器中使用 SendKeys(webdriver) 命令

转载 作者:行者123 更新时间:2023-12-02 09:44:23 24 4
gpt4 key购买 nike

我面临以下问题。我无法在有文本编辑器的 iframe 中输入文本:这是 html:

<iframe class="cke_wysiwyg_frame cke_reset" frameborder="0" style="width: 100%;  height: 100%;" aria-describedby="cke_39" title="Текстов редактор за форматиран текст,description1" src="" tabindex="0" allowtransparency="true">
<!DOCTYPE html>
<html lang="bg" dir="ltr">
<head>
<body class="cke_editable cke_editable_themed cke_contents_ltr" contenteditable="true" spellcheck="false">
<p>
<br>
</p>
</body>
</html>
</iframe>

这是我到目前为止所做的,但是测试成功通过,文本编辑器中没有写入任何文本。可能解决方案是使用 Javascript 执行器,但我不熟悉它。

WaitTool.waitForElementPresent(Browser.instance, By.tagName("iframe"), 10);
WebElement iframe = Browser.instance.findElement(By.tagName("iframe"));
Browser.instance.switchTo().frame(iframe);
WebElement description=Browser.instance.findElement(By.xpath("//body[@class='cke_editable cke_editable_themed cke_contents_ltr']"));
description.click();
description.sendKeys("someText");
Browser.instance.switchTo().defaultContent();

提前致谢!

最佳答案

有多种方法可以做到这一点。这是您可能想看的一篇文章。

Test WYSIWYG editors using Selenium WebDriver

  • 直接发送 key

您已经尝试过这种方法,但没有成功。请尝试确保您的定位器为 <iframe><body>是正确的。否则我建议使用 JavaScriptExecutor以获得更稳定的解决方案。

  • 设置innerHTML
WaitTool.waitForElementPresent(Browser.instance, By.className("cke_wysiwyg_frame"), 10);
WebElement iframe = Browser.instance.findElement(By.className("cke_wysiwyg_frame"));
Browser.instance.switchTo().frame(iframe);

WebElement description = Browser.instance.findElement(By.cssSelector("body"));
(JavascriptExecutor)Browser.instance.executeScript("arguments[0].innerHTML = '<h1>Set text using innerHTML</h1>'", description);
  • 使用 CKEditor 的原生 API
// no need to switch iframe
(JavascriptExecutor)Browser.instance.executeScript("CKEDITOR.instances.ckeditor.setData('<h1>Native API text</h1> Editor')");

关于java - 如何在位于 iframe 中的富文本编辑器中使用 SendKeys(webdriver) 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com