Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

579
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!