2015-11-05 56 views
0

我如何在p标签中添加文本?如何在e2e测试中添加iframe中的文本量角器

<div id="cke_1_contents" class="cke_contents cke_reset" role="presentation" style="height: 350px;"><span id="cke_44" 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%;" title="Rich Text Editor, editor2" aria-describedby="cke_106" tabindex="0" allowtransparency="true"> 
<html lang="en" dir="ltr"> 
<head> 
    <body class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" contenteditable="true" spellcheck="true"> 
    <p> 
    <br type="_moz"> 
    </p> 
</body> 
</html> 
</iframe> 
</div> 

我用这个代码,但报错

var p = element(by.css('.cke_editable p')); 
p.sendKeys('This is a peragraph tag'); 
+0

请过去的,你得到的错误那里。 –

+0

css看起来不正确。它应该是'.cke_editable> p' –

+0

没有再次发生同样的错误发生没有发现元素@PriyanshuShekhar –

回答

0

你需要切换到iframe的页面上下文来做到这一点:

browser.switchTo().frame($('.cke_wysiwyg_frame')) 

var p = element(by.css('.cke_editable p')); 
p.sendKeys('This is a peragraph tag'); 

// switch back to the "parent page" context 
browser.switchTo().defaultContent() 
+0

最大调用堆栈大小超过这个错误ocurr –

+0

根据文档,你必须指定一个iframe索引一个名称/ id属性。见https://angular.github.io/protractor/#/api?view=webdriver.WebDriver.TargetLocator.prototype.frame –

相关问题