class GetterCyndi5::Retriever

Attributes

document[R]
item_row_elements[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/getter_cyndi5/retriever.rb, line 7
def initialize(options = {})
  @options = options
end

Public Instance Methods

retrieve() click to toggle source
# File lib/getter_cyndi5/retriever.rb, line 13
def retrieve()
  products_page_url = "#{@options.fetch(:base_url)}#{@options.fetch(:products_page_path)}"
  mode = @options.fetch(:mode)
  if mode == 0 || mode == 1
    browser = Watir::Browser.new :chrome, args: %w[--headless --no-sandbox --disable-dev-shm-usage --disable-gpu --remote-debugging-port=9222]
    browser.goto(products_page_url)
    @item_row_elements = browser.elements(css: @options.fetch(:item_row_selector))
  end
  if mode == 1
    File.write(@options.fetch(:filename), browser.html)
    browser.close
  end
  if mode == 0
    @document = Nokogiri::HTML(browser.html)
    browser.close
  end
  if mode == 1 || mode == 2
    @document = File.open(@options.fetch(:filename)) { |f| Nokogiri::HTML(f) }
  end
end