java - 如何在 Selenium 中使用 CSS 选择器找到 TinyMCE 编辑器的主体?

标签 java selenium tinymce webdriver selenium-webdriver

我正在尝试使用 Selenium 在页面上查找元素。以下是一些示例内容:

<body id="tinymce" class="mceContentBody " contenteditable="true" dir="ltr"        style="overflow: auto;">

这是我尝试选择它的方法:

driver.findElement(By.cssSelector("body#tinymce")).sendKeys("Hello, everyone!! Don't worry it is a test letter to check connection!!");

但是我没有得到返回的元素。

最佳答案

看起来您正在针对 TinyMCE editor 进行测试.

问题是:

  • 它位于 iframe 中,您需要先切换到 iframe。
  • 您需要将 key 发送至<body>该 iframe 内的元素(不是 <input> )

这是要做的事情:

// switch to iframe, use locator of your choice, "#editMe_ifr" here as an example
WebElement editorFrame = driver.findElement(By.cssSelector("#editMe_ifr"));
driver.switchTo().frame(editorFrame);

WebElement body = driver.findElement(By.TagName("body")); // then you find the body
body.sendKeys(Keys.CONTROL + "a"); // send 'ctrl+a' to select all
body.SendKeys("Some text");

进一步阅读:

关于java - 如何在 Selenium 中使用 CSS 选择器找到 TinyMCE 编辑器的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432390/

相关文章:

java - recyclerview 在滚动条上返回相同的位置

java - 按插入顺序获取选定的JTree节点索引

java - 如何为@FindBy 注解实现用户类型?

selenium - 使用 Protractor 方便记录

javascript - 更改/更新格式时如何删除旧的 tinymce style_format 类

用于 getter setter 的 Java lombok 单元测试

java - 纹理呈现白色

r - 最新版本的 RSelenium 和 Firefox

javascript - jQuery 表单使用 TinyMCE 序列化 CodeIgniter 中缺少的数据

javascript - 如何安全地接受包含来自所见即所得编辑器的 iframe 的用户输入?