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

328
Views
El bucle "For" no detecta la condición "si" cuando busca un objeto usando xpath

Soy un novato en JS y me enfrento a un problema para el que no puedo encontrar una solución. Estoy escribiendo un script para automatizar un proceso de "limpieza" usando Karate/Selenium.

Guión:

  1. Vaya a una página web y busque un determinado criterio.
  2. En los resultados completos, tome todos los valores en una sola columna. Luego, en el mismo cuadro de búsqueda, busque cada valor tomado de la columna.
  3. En los resultados, haga clic en Eliminar para el resultado completo.
  4. Algunas filas arrojarán una excepción, en cuyo caso, queremos volver atrás y probar el siguiente elemento en la matriz de valores de columna hasta que todos los elementos se eliminen o los elementos sobrantes sean todos los que arrojan la excepción.

Tengo esto hasta ahora:

 driver.input('#searchField', ['Mobile', Key.ENTER], 200); //here I am using Karate/Selenium to enter the search criteria on the UI. function() { var searchResult = false; searchResult = driver.exists('//table//tr'); var errorPage = driver.exists('#exception'); do { var deleteCriteria = driver.scriptAll('//table//tr//td[3]', '_.innerText'); //Here I am grabbing actual values I need to search by across the entire column and putting it in array form. for (i = 0; i < deleteCriteria.length; i++) { driver.input('#searchField', [deleteCriteria[i], Key.ENTER], 200); driver.click('#deleteBtn'); driver.click('#deleteNumber'); driver.delay(10000); if (errorPage) { driver.back(); driver.delay(10000); driver.back(); driver.delay(10000); } else { continue; } } } while (searchResult); }

Problema: cuando se muestra la página de excepción, el bloque IF no se inicia. El script falla al intentar encontrar el cuadro de búsqueda para buscar de nuevo. Por favor avise.

PD: entiendo que mi "while" aún no es correcto. Lo arreglaré una vez que se resuelva el problema en cuestión.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El código var errorPage = driver.exists('#exception'); se ejecuta una vez y almacena el estado en ese momento.

Si desea saber si existe en el momento actual, debe buscarlo nuevamente.

 if (driver.exists('#exception')) { ... }
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!