Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

185
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda