I am trying to select an Iframe
by a class name but it's not working , I am trying with tagName
it works but then when I tried to type within the element in the Iframe
I couldn't, could you please help me here is my code:
webDriver driver.switchTo().frame( driver.findElement( By.className( "cke_wysiwyg_frame cke_reset" ) ) );
driver.findElement( By.xpath( "//body[contains(text(),'type here')]" ) ).sendKeys( "Testing" );
And here is the HTML in my webpage:
<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>
className
all that often for finding elements but I'm pretty sure that it can't include any white=space in the parameter. Did you try usingcssSlector
instead?driver.findElement(By.CssSelector("cke_wysiwyg_frame.cke_reset"));
– Mcnary