lunch_announcements/lib/lunch_scraper.rb

24 lines
756 B
Ruby
Raw Permalink Normal View History

require 'watir'
require 'nokogiri'
class LunchScraper
def initialize(date)
@date = date
@url = "https://westerville.nutrislice.com/menu/fouse-elementary/lunch/#{@date.strftime('%Y-%m-%d')}"
end
def today
browser = Watir::Browser.new :chrome, headless: true
browser.goto @url
# browser.wait_until { |b| b.h3(class: ['day-label', 'today']).present? }
browser.wait_until { |b| b.button(text: 'View Menus').present? }
browser.button(text: 'View Menus').click
browser.p(class: 'no-data').wait_while(&:exists?)
browser.wait_until { |b| b.h3(class: ['day-label', 'today']).present? }
page = Nokogiri::HTML(browser.html)
page.css('h3.day-label.today ~ ul.items li a.food-name-inner').map(&:content)
end
end