无法在selenium webdriver中选择iframe

Ali*_*adi 5 java iframe selenium selenium-webdriver

我试图Iframe通过类名选择一个,但它不起作用,我正在尝试它的工作,tagName但当我尝试在Iframe我不能的元素内输入时,你能帮我这里是我的代码:

webDriver driver.switchTo().frame( driver.findElement( By.className( "cke_wysiwyg_frame cke_reset" ) ) );
driver.findElement( By.xpath( "//body[contains(text(),'type here')]" ) ).sendKeys( "Testing" );
Run Code Online (Sandbox Code Playgroud)

这是我网页上的HTML:

<div id="cke_534_contents" class="cke_contents cke_reset" role="presentation" style="height: 75px;">
   <span id="cke_586" class="cke_voice_label">Press ALT 0 for help</span>
   <iframe class="cke_wysiwyg_frame cke_reset" frameborder="0" src="" style="width: 100%; height: 100%;" aria-describedby="cke_586" tabindex="0" allowtransparency="true">
      <!DOCTYPE html>
      <html lang="en-gb" dir="ltr">
         <head>
         <body class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" contenteditable="true" spellcheck="true">
            type here
         </body>
      </html>
   </iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

Ali*_*adi 10

通过xpath找到iFrame解决了这个问题

driver.switchTo().defaultContent();
driver.switchTo().frame( driver.findElement( By.xpath( iframeXpath ) ) );
Run Code Online (Sandbox Code Playgroud)

然后返回顶部窗口:

 driver.switchTo().defaultContent();
Run Code Online (Sandbox Code Playgroud)