Selenium IDE iframe

时间:2014-12-02 12:33:38

标签: iframe selenium selenium-ide

我正在尝试选择iframe并使用Selenium IDE 2.8.0输入一些文本。在搜索了一下之后,我尝试了许多不同的方法。

使用script only命令会将文本输入到字段中,但是,正如在线许多帖子所述,当用作测试用例中的步骤时,这不起作用:

tinymce.activeEditor.setContent('Test Text') 

我尝试使用id - selectFrame选择iframe,然后以与以下类似的方式结合使用focus和click命令:

<tr>
<td>selectFrame</td>
<td>edit-body-und-0-value_ifr</td>
<td></td>
</tr>
<tr>
<td>focus</td>
<td>//body[@id='tinymce']/p</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//body[@id='tinymce']/p</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>//body[@id='tinymce']/p</td>
<td>yellow</td>
</tr>

执行type命令后,没有输入文字。

框架的HTML如下:

<tr>
<td class="mceIframeContainer mceFirst mceLast">
<iframe id="edit-body-und-0-value_ifr" frameborder="0" src="javascript:""" allowtransparency="true" title="Rich Text AreaPress ALT-F10 for toolbar. Press ALT-0 for help" style="width: 100%; height: 100px; display: block;">
<!DOCTYPE >
<html>
<head xmlns="http://www.w3.org/1999/xhtml">
<body id="tinymce" class="mceContentBody " contenteditable="true" onload="window.parent.tinyMCE.get('edit-body-und-0-value').onLoad.dispatch();" spellcheck="false" dir="ltr">
<p>
</body>
</html>
</iframe>
</td>
</tr>

1 个答案:

答案 0 :(得分:0)

driver.switchTo().frame("I'd of iframe")
//do work
driver.switchTo().defaultContent() //switch back