2014-05-20 1 views
7

Sto cercando di ottenere il valore src di un blocco di HTML. Sto specificatamente cercando di ottenere ciò usando lo at_css e non usando XPath.Come ottenere img src usando Nokogiri e at_css

Finora tutto ciò che ottengo è nullo o una stringa vuota.

Questo è il codice HTML:

<div class="" id="imageProductContainer"> 
    <a id="idLinkProductMainImage" href='URL'> 
    <img id="productMainImage" src="SRC.jpg" alt="alt" title="A Title" align="left" class="product_image_productpage_main selectorgadget_selected"> 
    </a> 
</div> 

Il codice che ho è:

item = page.doc.at_css("#productMainImage img").text.strip unless page.doc.at_css("#productMainImage img").nil? 

puts item #prints blank 
item = item["src"] 
puts item #prints blank 

Dove page.doc è l'elemento Nokogiri HTML.

risposta

10

Se è necessario l'attributo src, si può fare in questo modo:

pace.doc.at_css('#idLinkProductMainImage img').attr('src') 

Inoltre, credo che il problema è il modo in cui si stanno ottenendo il tag img. Stai cercando di ottenere tutti i tag img all'interno di #productMainImage, ma questo id è l'immagine stessa, quindi non troverà nulla.

Se si utilizza il collegamento id #idLinkProductMainImage, è necessario un tag img per effettuare la ricerca al suo interno.

+0

Perfetto, grazie !! –