2014-05-20 17 views
7

Próbuję uzyskać wartość src bloku HTML. Dokładam starań, aby osiągnąć to przy użyciu at_css i nie używając XPath.Jak uzyskać img src za pomocą Nokogiri i at_css

Do tej pory wszystko, co otrzymuję, to zero lub pusty ciąg.

Jest to 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> 

Kod mam to:

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 

Gdzie page.doc jest elementem Nokogiri HTML.

Odpowiedz

10

Jeśli potrzebujesz atrybut src, można zrobić to tak:

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

Również uważam, że problemem jest sposób, w jaki są coraz tag img. Próbujesz uzyskać wszystkie znaczniki img wewnątrz #productMainImage, ale ten id jest sam obraz, więc nie znajdzie nic.

Jeśli używasz linku id #idLinkProductMainImage, to masz znacznik img do wyszukiwania w nim.

+0

Doskonale, dziękuję !! –

Powiązane problemy