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

184
Views
Ruby Watir Gem no verá la división actualizada

Tengo un rasguño en una página HTML impulsada por JS que actualiza los productos encontrados en la misma página. Quiero tomar los productos y analizarlos. Luego quiero pasar a la página siguiente, que ya he logrado usando Watir . El problema es que Watir no puede ver los elementos de la primera página. Cada elemento tiene el formato HTML siguiente. Aquí está mi código después, luego el resultado:

 ## HTML <div data-jplist-item="" class="itemSpace"> <div class="itemContainer"> <a href="/en/Products/All/Tipless Chine" target="_blank" title="Click here to learn more about this product"> <div class="name itemName">(1711) Red Chine, Tips Removed<span style="display:none;">boat part, DELTAUPDATE</span></div> <div class="saleDiscount" style="display:none;">25.575</div> <div class="itemNo" style="display:none;">1711</div> <div class="saleNote">SALE</div></a> </div> </div> ## code ##### a is the browser item = a.div(class: "itemSpace") ap item.inspect puts item.class puts item2 = a.div(class: "itemContainer") ap item2.inspect puts item2.class ## result "#<Watir::Div: located: false; {:class=>\"itemSpace\", :tag_name=>\"div\"}>" Watir::Div "#<Watir::Div: located: false; {:class=>\"itemContainer\", :tag_name=>\"div\"}>" Watir::Div

Como puede ver, el div no se encuentra. Tengo la impresión de que Watir gestiona las devoluciones de JS , así que no sé por qué no está visible.

¿Alguien sabe qué estoy haciendo mal? ¿Se necesita usar una gema diferente ( Ferrum )?

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

0

El located: false no significa que Watir no pueda ver el elemento o que el elemento no exista. Simplemente significa que Watir aún no ha intentado encontrar el elemento. Una vez que realice una acción en el elemento, se located: true .

Por ejemplo, si inspeccionó el atributo de class (en lugar de la clase del objeto), :located cambiará a true .

 item = a.div(class: "itemSpace") p item.inspect #=> "#<Watir::Div: located: false; {:class=>\"itemSpace\", :tag_name=>\"div\"}>" p item.class_name # note that this is #class_name not #class #=> "itemSpace" p item.inspect #=> "#<Watir::Div: located: true; {:class=>\"itemSpace\", :tag_name=>\"div\"}>"

En cuanto a por qué Watir ya no ve la primera página de resultados, eso dependería de lo que les suceda al cargar la segunda página de resultados. Si la primera página de resultados se elimina de la página (es decir, el usuario ya no puede verlos), Watir tampoco podrá verlos. Le gustaría capturar la primera página de resultados antes de pasar a la página siguiente.

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!