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

300
Views
No se puede obtener información sobre el nodo porque el selector especificado no coincide con ningún nodo en el árbol DOM

Estoy trabajando con testCafe por primera vez y estoy tratando de escribir una prueba que haga clic en el nombre de un paciente específico en una lista de pacientes que se muestra.

El error que me sale es el siguiente:

No se puede obtener información sobre el nodo porque el selector especificado no coincide con ningún nodo en el árbol DOM.

| Selector('[data-cy=Nombre]')

Este es el bloque de código real:

 test .meta({ code: '4.1', action: 'From Patient Summaries screen, click a patient name'. expected: 'Should take user to the weekly Patient Overview screen' }) .page(url) ('4.1', async t => { await LoginPageObject.loginAsDoctor(); const patients = Selector('[data-cy=Patients]'); const settingsMenuItem = Selector('[data-cy=name]'); await t.expect(patients.visible).ok().click(patients); await t.expect(Selector('[data-cy=table-row-0]').visible).ok() await t.expect(settingsMenuItem.textContent) .contains("Charles Shetland") .click(settingsMenuItem); await VnVScreenshot(t, '4.1', fixtureName); });

Intenté hacer const settingsMenuItem = Selector('td [data-cy=Name]'); y .contains("Shetland,Charles") ya que así es técnicamente como aparece el nombre.

Pero sigo recibiendo el mismo error para Selector('td [data-cy=Name]') .

La forma en que se ve la jerarquía DOM es:

 div table thead tbody tr td
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Es difícil determinar la causa exacta del error sin una muestra. Sin embargo, encontré el código incorrecto en las siguientes líneas:

 await t.expect(settingsMenuItem.textContent) .contains("Charles Shetland") .click(settingsMenuItem);

Si desea hacer clic en un elemento con texto específico, debe usar el método withText : https://testcafe.io/documentation/402740/reference/test-api/selector/withtext

 await t.click(settingsMenuItem.withText('Charles Shetland'))

Si esto no ayuda, prepare una muestra que demuestre el problema.

Tenga en cuenta que puede usar la función de depuración experimental de TestCafe para ejecutar un selector en la consola IDE o Chrome Nodejs. Consulte el siguiente artículo para obtener más detalles: https://testcafe.io/documentation/402639/reference/command-line-interface#--experimental-debug

about 4 years ago · Juan Pablo Isaza Report

0

Entonces, la forma en que pude resolverlo fue con un poco de magia testCafe.

Lo que hice fue cambiar data-cy="Name" , a data-cy="call_Shetland Charles" .

No estaba seguro al principio, pero eso me permitió pasar de esto:

 const settingsMenuItem = Selector('[data-cy=Name]');

A esto:

 const settingsMenuItem = Selector('[data-cy*=Charles]');

Y testCafe pudo identificar en qué paciente quería que hiciera clic.

about 4 years ago · Juan Pablo Isaza 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!