Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

571
Vistas
No se puede seleccionar el elemento en ciprés dentro de un marco

Logré iniciar sesión en un sistema de resultados de laboratorio, pero no puedo avanzar más. Mi intención a largo plazo es obtener resultados de laboratorio para incorporarlos localmente en un registro médico.

 const getIframeBody = () => { // get the iframe > document > body // and retry until the body element is not empty return cy .get('frame[id="EclairMainFrame"]') .its('0.contentDocument.body').should('not.be.empty') // wraps "body" DOM element to allow // chaining more Cypress commands, like ".find(...)" // https://on.cypress.io/wrap .then(cy.wrap) } describe('Medlab Test', () => { it('Visits Eclair', () => { cy.visit('https://cdr.medlabcentral.co.nz/Eclair/mvc') cy.get('.login-field').eq(0).type('userid') cy.get('.login-field').eq(1).type('passphrase{enter}') cy.location('pathname').should('eq', '/Eclair/ClinicalWorkstation.aspx') getIframeBody().find('.search-form-form-textbox') }) })

Esto me permite iniciar sesión, pero Cypress no puede encontrar el campo de entrada para ingresar la identificación del paciente. Veo el siguiente mensaje de error:

Se agotó el tiempo de reintento después de 6000 ms: se esperaba encontrar el elemento: .search-form-form-textbox, pero nunca lo encontró. Consultado desde el elemento: <cuerpo>

El DOM en este punto para ese campo de entrada muestra:

 <input class="search-form-form-textbox Mandatory" id="PatAliasId" name="PatAliasId" type="text" value="" tabindex="4">

ingrese la descripción de la imagen aquí

Probé cy.get en la clase cy.get('.search-form-form-textbox') , en el id cy.get('#PatAliasId') y en el atributo de clase cy.get('name=["PatAliasId"]') pero todos estos intentos tienen un tiempo de espera de 6 segundos.

¿Cuál es la sintaxis correcta para encontrar un elemento dom dentro de un marco?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Para trabajar con marcos en Cypress, debe instalar un complemento de cypress con el siguiente comando, luego puede interactuar con los elementos dentro del marco

 npm install -D cypress-iframe

URL de referencia Cypress Frames

Si ya ha hecho lo anterior, cargue primero el marco para encontrar el elemento requerido

 cy.frameLoaded(#frameId) cy.iframe.find('#PatAliasId').type('abc')
about 4 years ago · Santiago Trujillo Denunciar

0

En la versión anterior de cypress, no hay soporte para iFrame. Pero en la última versión, Cypress proporcionó soporte para iFrames.

Trabaje en cypress, necesitamos instalar cypress-iframe usando los siguientes comandos.

npm install -D ciprés-iframe

Use este código a continuación:

 describe('Medlab Test', () => { it('Visits Eclair', () => { cy.visit('https://cdr.medlabcentral.co.nz/Eclair/mvc') cy.frameLoaded('#frameId') cy.iframe.find('#PatAliasId').type('Enter Your Input') }) })
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda