# Editing objects inside iframe

**URL:** <https://forum.katalon.com/t/editing-objects-inside-iframe/32905>\
**Category:** Web Testing\
**Tags:** web-testing, katalon-studio\
**Created:** [September 11, 2019, 3:33am UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905 "2019-09-11T03:33:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shoto](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@Shoto](https://forum.katalon.com/u/Shoto)\
**Post date:** [September 11, 2019, 3:33am UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905/1 "2019-09-11T03:33:39Z")

</div>

Hi, Good day everyone!

I’m having a trouble editing a rich text field because it is inside an iframe. I already used the switch to frame function and it seems to switch to the frame but when I tried to edit the object inside, the test will fail. I also tried to use the spy web to locate the right xpath to use but no help at all. I hope somebody can help me.

 ![iframe](https://europe1.discourse-cdn.com/katalon/original/2X/f/fca7c7b8d61f1374c396d153dba07e90183652af.png)  
This is the iframe I’m targeting and the highlighted text is the one I’m trying to change.

 ![iframe%20code](https://europe1.discourse-cdn.com/katalon/original/2X/a/aac7f8e80ac6829034c8bfde52ebf3017bdeeed9.png)  
This is the object code for iframe and the rich text.

And this is the error.

2019-09-11 11:46:37.482 ERROR c.k.k.core.keyword.internal.KeywordMain - ❌ Unable to set text ‘This is a automated functional test.’ of object ‘bodyRichText’ (`Preformatted text`Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to set text ‘This is a automated functional test.’ of object ‘bodyRichText’  
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)  
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)  
at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.setText(SetTextKeyword.groovy:66)  
at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)  
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)  
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:950)  
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)  
at Ability\_to\_edit\_body\_richtext\_field.run(Ability\_to\_edit\_body\_richtext\_field:53)  
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)  
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)  
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)  
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)  
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)  
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)  
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)  
at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:169)  
at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:142)  
at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:91)  
at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)  
at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)  
at TempTestSuite1568173470595.run(TempTestSuite1568173470595.groovy:35)  
Caused by: com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: ‘bodyRichText’ located by ‘By.xpath: (//iframe[@id=“react-tinymce-1\_ifr”]//html//body[@id=“tinymce”]//p)[1]’ not found  
at com.kms.katalon.core.webui.common.WebUiCommonHelper.findWebElement(WebUiCommonHelper.java:1097)  
at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:27)  
at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:26)  
at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$\_setText\_closure1.doCall(SetTextKeyword.groovy:51)  
at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$\_setText\_closure1.call(SetTextKeyword.groovy)  
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)  
at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.setText(SetTextKeyword.groovy:66)  
at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)  
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)  
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:950)  
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)  
at Script1567063945966.run(Script1567063945966.groovy:53)  
… 13 more  
)

Thanks,

---

<div class="post-metadata">

**Author:** ![arturs.pumpa](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arturs.pumpa/32/16103_2.png) [@arturs.pumpa](https://forum.katalon.com/u/arturs.pumpa)\
**Post date:** [September 11, 2019, 10:20am UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905/3 "2019-09-11T10:20:00Z")

</div>

try to figure out does your new element exist on the web page by pressing f12 in your browser

[https://stackoverflow.com/questions/22571267/how-to-verify-an-xpath-expression-in-chrome-developers-tool-or-firefoxs-firebug/22573161#22573161](https://stackoverflow.com/questions/22571267/how-to-verify-an-xpath-expression-in-chrome-developers-tool-or-firefoxs-firebug/22573161#22573161)

by your error i can say that there are no element with such id

---

<div class="post-metadata">

**Author:** ![jjunior](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/jjunior/32/6633_2.png) [@jjunior](https://forum.katalon.com/u/jjunior)\
**Post date:** [September 11, 2019, 5:38pm UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905/4 "2019-09-11T17:38:14Z")

</div>

Do you have the code that you use to switch to frame?

This part of the code is only adding property to testObject

---

<div class="post-metadata">

**Author:** ![Russ\_Thomas](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/russ_thomas/32/11884_2.png) [@Russ\_Thomas](https://forum.katalon.com/u/Russ_Thomas)\
**Post date:** [September 11, 2019, 5:54pm UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905/5 "2019-09-11T17:54:19Z")

</div>

You haven’t shown how `bodyRichText` is defined, so I’m assuming it is an `input` element with that id.

```javascript
String js = '''
  var iframe = document.querySelector("#react-tinymce-1_ifr");
  var doc = iframe.contentDocument || iframe.contentWindow.document;
  var bodyRichText = doc.querySelector("#bodyRichText");
  bodyRichText.value = "This is an automation test using JavaScript";
'''
WebUI.executeJavaScript(js, null)

```

I haven’t tested this so please let me know.

---

<div class="post-metadata">

**Author:** ![Shoto](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@Shoto](https://forum.katalon.com/u/Shoto)\
**Post date:** [September 13, 2019, 3:09am UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905/7 "2019-09-13T03:09:07Z")

</div>

Hi, thanks for the reply.

I’m using 2 chrome extension tools (ChroPath and XPath Helper). Both tools can locate the element I’m using. As you can see, (//body[@id=“tinymce”]//p)[1] is xpath I’m using to target the element. Per katalon log viewer, I successfully switch to the iframe but I can’t target anything inside the iframe.

---

<div class="post-metadata">

**Author:** ![albert.vu](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/albert.vu/32/20595_2.png) [@albert.vu](https://forum.katalon.com/u/albert.vu)\
**Post date:** [August 8, 2022, 7:39am UTC](https://forum.katalon.com/t/editing-objects-inside-iframe/32905/8 "2022-08-08T07:39:54Z")

</div>

Archived on August 8, 2022, 7:39am UTC


