一尘不染

无法在Selenium WebDriver中选择iframe

selenium

我试图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" );

这是我网页中的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>

阅读 313

收藏
2020-06-26

共1个答案

一尘不染

通过xpath找到iFrame解决了问题

driver.switchTo().defaultContent();
driver.switchTo().frame( driver.findElement( By.xpath( iframeXpath ) ) );

然后返回到顶部窗口:

 driver.switchTo().defaultContent();
2020-06-26