我试图获取HTML块的src
值。我特意尝试使用at_css
并且不使用XPath来实现此目的。
到目前为止,我所得到的只是零或空字符串。
这是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>
我的代码是:
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
page.doc
是Nokogiri HTML元素。
答案 0 :(得分:12)
如果您需要src
属性,可以这样做:
pace.doc.at_css('#idLinkProductMainImage img').attr('src')
另外,我认为问题在于您获得img
标记的方式。您正试图在img
中获取所有#productMainImage
个标记,但此id
是图像本身,因此它不会找到任何内容。
如果您使用了链接ID #idLinkProductMainImage
,那么您可以使用img
标记在其中进行搜索。