简体   繁体   中英

Can't Access Static Drop-down Inside an Iframe

I want to click on a dropdown inside an iframe and select some options, but i keep getting this error in cypress

cypress-iframe commands can only be applied to exactly one iframe at a time. Instead found 2

Please see my code below `

it('Publish and Lock Results', function(){
         setClasses.clickTools()
         setClasses.clickConfiguration()
         setClasses.publishAndLockResult()
 
         cy.frameLoaded();
         cy.wait(5000)
         cy.iframe().find("body > div:nth-child(6) > div:nth-child(1) > div:nth-child(1) > form:nth-child(2) > table:nth-child(5) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > div:nth-child(5) > p:nth-child(2)").click()
         
  })

```**Please see screenshot of the element** 
[![enter image description here](https://i.stack.imgur.com/WpUfn.png)](https://i.stack.imgur.com/WpUfn.png)

There should be an iframe identifier that you can use (anything else for the iframe, a unique id, class or attribute, like data-test )

let iframe = cy.get(iframeIdentifier).its('0.contentDocument.body').should('not.be.empty').then(cy.wrap)

iframe.find("body > div:nth-child(6) > div:nth-child(1) > div:nth-child(1) > form:nth-child(2) > table:nth-child(5) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > div:nth-child(5) > p:nth-child(2)").click()

From what the output is suggesting, you've got two iframes on that page that it's trying to send commands to, and you have to pick one

Answer adapted from source: cypress.io blog post on working with iframes

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM