在Selenium Webdriver中找到CK编辑器并向其发送文本

San*_*DVG 1 java selenium-webdriver

嗨,我正在尝试通过Selenium Webdriver代码(Java)为我的项目找到CK编辑器。但是,每当我尝试使用SendKeys()方法时,它对我都不起作用。下面是CK编辑器和HTML代码的屏幕截图。

在此处输入图片说明

下面是代码,

if(driver.findElement(By.cssSelector("iframe#scayt_8")).isEnabled())
{
  WebElement iframe = driver.findElement(By.cssSelector("iframe#scayt_8"));  
  System.out.println("Frame Enabled");
  if(driver.findElement(By.xpath("//iframe[@id = 'scayt_8']")).isDisplayed())           
  {           
    System.out.println("Frame Displayed");
    driver.switchTo().frame(iframe);
    iframe.clear();
    System.out.println("Clicking frame");
    iframe.click();
    iframe.sendKeys("Hello!!");
  }
}
Run Code Online (Sandbox Code Playgroud)

请帮助我找到CK编辑器并向其发送文本。

Ale*_*ins 5

您可能需要切换到嵌入式框架才能找到它。

WebElement editorFrame = driver.findElement(By.id("scayt_8"));

driver.switchTo().frame(editorFrame);

WebElement body = driver.findElement(By.tagName("body"));

body.clear(); 
body.sendKeys("some text");
Run Code Online (Sandbox Code Playgroud)

在本书Selenium WebDriver In Practice中的第3章中,我们提供了与编辑人员合作的技术。