即使在切换到iframe Selenium Web驱动程序后也无法在文本框中输入文本

时间:2015-03-30 23:39:53

标签: selenium iframe junit webdriver

我想在iframe里面的文本框中输入一些文字。我可以通过切换到iframe来识别文本框,但无法输入文本。

这里是html代码:

<iframe class="cke_wysiwyg_frame cke_reset" frameborder="0" style="width: 100%; height: 100%;" aria-describedby="cke_50" title="Rich Text Editor,missionStatementText" src="" tabindex="0" allowtransparency="true">
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<title data-cke-title="Rich Text Editor,missionStatementText">Rich Text Editor,missionStatementText</title>
<style data-cke-temp="1">
<link href="http://localhost:8080/sowodemo/js/ckeditor/contents.css" rel="stylesheet" type="text/css">
<style data-cke-temp="1">
</head>
<body class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" contenteditable="true" spellcheck="false">
http://l
<br type="_moz">
</body>
</html>
</iframe>

我的硒代码:

driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
driver.findElement(By.tagName("body")).clear();
driver.findElement(By.tagName("body")).sendKeys("type text");
driver.switchTo().defaultContent();

1 个答案:

答案 0 :(得分:-1)

尝试使用动作类,当我们使用动作类

时,我们获得了成功
WebElement we = driver.findElement(By.xpath("xpath of the element"));
            new Actions(driver).moveToElement(we).click().sendKeys("bfsdjkf").build().perform();