当前位置: 首页 > 面试题库 >

无法使用Selenium WebDriver将Keys()发送到TinyMCE

房子昂
2023-03-14
问题内容

我在Eclipse中使用Selenium WebDriver,并且试图将文本插入网页上的tinymce框中。这是我正在使用的代码。

//find tinymce iframe
editorFrame = driver.findElement(By.cssSelector(".col_right iframe"));

//switch to iframe
driver.switchTo().frame(editorFrame);
driver.findElement(By.className("mceContentBody")).sendKeys("YOOOO");
driver.switchTo().defaultContent();

光标在编辑器内部闪烁,但是未发送文本。我也尝试过这种轻微的变化,没有任何运气。

//find tinymce iframe
editorFrame = driver.findElement(By.cssSelector(".col_right iframe"));

//switch to iframe
driver.switchTo().frame(editorFrame);
WebElement body = driver.findElement(By.className("mceContentBody"));
body.sendKeys("YOOOO");
driver.switchTo().defaultContent();

问题答案:

对于您的特定代码,我建议

  • 尝试不同的定位mceContentBody,例如使用By.cssSelector(".mceContentBody")By.cssSelector("body")等等。

  • 发送密钥之前,请先单击主体。

    driver.findElement(By.tagName("body")).click().sendKeys("YOOOO");
  • 设置innerHTML
    inputWebDriver.switchTo().frame("input-data_ifr");
    WebElement element = inputWebDriver.findElement(By.cssSelector("body"));
    (JavascriptExecutor)driver.executeScript("arguments[0].innerHTML = '<h1>Set text using innerHTML</h1>'", element);
  • 使用TinyMCE的本地API
    // no need to switch iframe
    (JavascriptExecutor)driver.executeScript("tinyMCE.activeEditor.setContent('<h1>Native API text</h1> TinyMCE')");

进一步阅读:使用Selenium WebDriver测试所见即所得的编辑器



 类似资料:
  • 我有这个发邮件的密码 此代码为除之外的任何邮件提供商发送邮件。 这可能是什么原因

  • 我开始构建一些非常简单的应用程序,我想我已经掌握了如何在android Studio中创建基础知识。我一辈子都搞不清楚的是为什么我不能把数据发送到我的firebase实时数据库。 这是一个非常简单的应用程序,我试图让它目前的工作(因为我不能在更丰富的一个)--只需要一个按钮,应该发送“你好,世界!”

  • 我对妮蒂很陌生。我目前正在编写一个非常简单的Echo客户端和服务器,但是我尝试从客户端向服务器发送< code>byte[]而不是String或ByteBuf。我成功地用字符串消息编写了相同的客户机\服务器。 在相同的代码中,我只是将“解码器\编码器”改为使用< code>byte[]。 我在下面张贴我的代码。 -启动客户端的主类 - Define pipeline - 主客户端处理程序 -启动服

  • 问题内容: 我试图将字符串消息发送到在weblogic服务器中创建的JMS队列中。我使用Eclipse IDE,当我运行Web应用程序时,出现以下错误,tomcat服务器关闭。错误是 请帮助我。谢谢和最诚挚的问候 问题答案: 基于对该问题的一些快速研究,它似乎是由于在应用服务器和客户端之间使用不同的JDK级别引起的。我看到的大多数示例都表明,在Java 5上运行Weblogic时在客户端上使用Ja

  • 问题内容: 我想以json格式向php发送一些数据,并在php中进行一些操作。我的问题是我无法通过Ajax将json数据发送到我的php文件。请帮助我该怎么做。我已经尝试过这种方式.. 在PHP中,我使用: 在php文件中添加print_r($ _ POST)时,它在firebug中显示array(0){}。 问题答案: 输了。您没有将JSON发送到服务器,而是发送了普通的POST查询(恰好包含J

  • 问题内容: 我正在尝试创建一个群集以将消息发送到远程控制。我已经按照此处所述配置了所有内容。我正在机器上运行它,并且使用shell可以正常工作。在Windows计算机上按照教程中的说明编写Java代码后,我收到以下错误: 我也尝试在其他Linux机器上运行jar,但仍然收到相同的错误。 可以在安装kafka的计算机中将地址更改为jar并在其中运行Java代码。 我相信它与配置有关,但是找不到。 问