通过Nokogiri rails选择输入标签

时间:2012-11-20 01:51:17

标签: ruby-on-rails ruby ruby-on-rails-3 web-scraping nokogiri

我有一些麻烦找到选择和显示页面信息的方法,我使用NOKOGIRI和Rails 3。

所以我想选择以下输入标记:

<input type="text" name="tarificador.codPosDest.desMuniEstado" size="60"      value="PUEBLA,PUEBLA              " readonly="readonly" style="font-size: 11px;
                                            font-family: Verdana, Arial, Helvetica, sans-serif;
                                            color: #575553;
                                            font-weight: bold;
                                            text-align: justify;
                                            background-color: #f6ecce;
                                            border:0;">

我需要此输入标记的值,如何在视图中显示它,我在我的控制器中使用类似的东西:

tarifa = ""
 doc.css("#tarificador.codPosDest.desMuniEstado").each do |d|
   puts d.attr("value")
   puts d.text
   tarifa << d.text
 end

respond_to do |format|
  if @sender.save
    format.html do 
        redirect_to @sender, notice: 'Sender was successfully created.'
        flash[:tarifa] = tarifa
    end
  end
end

然后在我看来,我只是展示了flash标签:

  <div class="estafeta">
   <%=h flash[:tarifa].html_safe %>
  </div>

您知道更好的方式来显示数据吗?

PS:我输入的代码不起作用:(

1 个答案:

答案 0 :(得分:0)

你选择了它的名字属性,而不是id,所以也许:

tarifa = doc.search('input[name="tarificador.codPosDest.desMuniEstado"]').map{|x| x[:value]} * '<br />'

text始终为空。