如何获取第一个ul元素项目从nokogiri在rails?



我有以下html,其中包含2个UL元素。

<ul>
1
  • 2
  • 3
  • <ul>
    
    4
  • 5
  • 6
  • 我使用以下逻辑仅从第一个Ul元素获取数据。但我从两个ul元素获取数据。如何仅从第一个UL元素获取数据?

    uls = xyz_html.css('ul li')
    uls.each do |li|
    
    @ul_list_1 << li.text
    
    end
    

    @ul_list_1将所有数据显示为数组,如[1,2,3,4,5,6],但我需要输出[1,2,3]

    我也尝试了下面的逻辑,但我没有得到输出

    uls = xyz_html.css('ul:first-child li')
    uls.each do |li|
    
    @ul_list_1 << li.text
    
    end
    

    有人能帮我一下吗

    您可以使用first-of-typeCSS选择器,它返回给定元素的第一次出现,因此:

    xyz_html.css('ul:first-of-type li')
    

    更多信息:https://css-tricks.com/almanac/selectors/f/first-of-type/