在我目前的项目中,想要刮掉描述字段。我正在使用nokogiri进行刮擦。
任何人都可以看看,让我知道如何克服这个问题?
<div class='module toggle-wrap' id='descriptionmodule'>
<div id='descriptionmodule_heading' class='mod-header'>
<h3 class='toggle-title'>Description</h3>
</div>
</div>
尝试这样 -
Description = details.at_css("descriptionmodule[@id='description-val']").text.strip
答案 0 :(得分:1)
您的 CSS 规则不正确。请尝试以下方法:
require 'nokogiri'
doc = Nokogiri::HTML(<<html)
<div class='module toggle-wrap' id='descriptionmodule'>
<div id='descriptionmodule_heading' class='mod-header'>
<h3 class='toggle-title'>Description</h3>
</div>
</div>
html
doc.at_css("#descriptionmodule #descriptionmodule_heading > h3").text.strip
# => "Description"
查看文档:
ID Selector (“#id”)
:选择具有给定id属性的单个元素。
Child Selector (“parent > child”)
:选择由“parent”指定的元素“child”指定的所有直接子元素。
答案 1 :(得分:0)
我试过这个并且能够正确地描述描述
description = details.at_css("#descriptionmodule #description-val").text.strip