如何使用Nokogiri和at_css获取img src

Dav*_*ley 9 ruby ruby-on-rails nokogiri ruby-on-rails-4

我试图获得src一块HTML 的价值.我特意尝试使用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>
Run Code Online (Sandbox Code Playgroud)

我的代码是:

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
Run Code Online (Sandbox Code Playgroud)

page.docNokogiri HTML元素在哪里?

Mur*_*foX 13

如果您需要该src属性,可以这样做:

pace.doc.at_css('#idLinkProductMainImage img').attr('src')
Run Code Online (Sandbox Code Playgroud)

另外,我认为问题在于你获得img标签的方式.你试图让所有img标签进入#productMainImage,但这id是图像本身,所以它什么都找不到.

如果您使用链接ID #idLinkProductMainImage,那么您有一个img标签可以在其中进行搜索.