Ruby - как получить текст после div с Nokogiri - PullRequest
1 голос
/ 28 апреля 2019

Я пытаюсь получить информацию о дате и времени из кода ниже (целевой код). Я могу вытащить имя класса, но не дату и время.

class = events.at_css('div.classTitle b').text
date = events.at_css('.classTitle') ["eventTime"]
time = events.at_css('.classTime span')

p class
p date
p time

Я получаю имя класса, но ноль для даты и времени

Целевой код

<div class="classTitle"><b>Astronomy 101</b></div>

<div class="classTime">

Friday, May 3, 2019<span class="smalltype">&nbsp;at</span>&nbsp;7:00PM</div>

<br>

1 Ответ

1 голос
/ 28 апреля 2019

Вы хотите метод Node#content:

Это index.html:

<div class="classTitle"><b>Astronomy 101</b></div>

<div class="classTime">

Friday, May 3, 2019<span class="smalltype">&nbsp;at</span>&nbsp;7:00PM
</div>

<br>

Это test.rb:

require 'nokogiri'

events = Nokogiri::HTML(open('index.html'))
date, time = events.at_css('div.classTime').content.strip.split('at')

puts date     #=> Friday, May 3, 2019
puts time     #=> 7:00PM
...